

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 6.00.0361 */
/* at Sat Jul 29 22:55:39 2006
 */
/* Compiler settings for .\GoogleDesktopDisplayAPI.idl:
    Oicf, W1, Zp8, env=Win32 (32b run)
    protocol : dce , ms_ext, c_ext, robust
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING(  )

#pragma warning( disable: 4049 )  /* more than 64k source lines */


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef __GoogleDesktopDisplayAPI_h_h__
#define __GoogleDesktopDisplayAPI_h_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

#ifndef __IGoogleDesktopDisplaySite_FWD_DEFINED__
#define __IGoogleDesktopDisplaySite_FWD_DEFINED__
typedef interface IGoogleDesktopDisplaySite IGoogleDesktopDisplaySite;
#endif 	/* __IGoogleDesktopDisplaySite_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplaySite2_FWD_DEFINED__
#define __IGoogleDesktopDisplaySite2_FWD_DEFINED__
typedef interface IGoogleDesktopDisplaySite2 IGoogleDesktopDisplaySite2;
#endif 	/* __IGoogleDesktopDisplaySite2_FWD_DEFINED__ */


#ifndef __IGoogleDesktopTalkFriend_FWD_DEFINED__
#define __IGoogleDesktopTalkFriend_FWD_DEFINED__
typedef interface IGoogleDesktopTalkFriend IGoogleDesktopTalkFriend;
#endif 	/* __IGoogleDesktopTalkFriend_FWD_DEFINED__ */


#ifndef __IGoogleDesktopPluginTalkService_FWD_DEFINED__
#define __IGoogleDesktopPluginTalkService_FWD_DEFINED__
typedef interface IGoogleDesktopPluginTalkService IGoogleDesktopPluginTalkService;
#endif 	/* __IGoogleDesktopPluginTalkService_FWD_DEFINED__ */


#ifndef __IGoogleDesktopPluginTalkHandler_FWD_DEFINED__
#define __IGoogleDesktopPluginTalkHandler_FWD_DEFINED__
typedef interface IGoogleDesktopPluginTalkHandler IGoogleDesktopPluginTalkHandler;
#endif 	/* __IGoogleDesktopPluginTalkHandler_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayPluginHandler_FWD_DEFINED__
#define __IGoogleDesktopDisplayPluginHandler_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayPluginHandler IGoogleDesktopDisplayPluginHandler;
#endif 	/* __IGoogleDesktopDisplayPluginHandler_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayPluginHandler2_FWD_DEFINED__
#define __IGoogleDesktopDisplayPluginHandler2_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayPluginHandler2 IGoogleDesktopDisplayPluginHandler2;
#endif 	/* __IGoogleDesktopDisplayPluginHandler2_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayPlugin_FWD_DEFINED__
#define __IGoogleDesktopDisplayPlugin_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayPlugin IGoogleDesktopDisplayPlugin;
#endif 	/* __IGoogleDesktopDisplayPlugin_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayPlugin2_FWD_DEFINED__
#define __IGoogleDesktopDisplayPlugin2_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayPlugin2 IGoogleDesktopDisplayPlugin2;
#endif 	/* __IGoogleDesktopDisplayPlugin2_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayContentItemHandler_FWD_DEFINED__
#define __IGoogleDesktopDisplayContentItemHandler_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayContentItemHandler IGoogleDesktopDisplayContentItemHandler;
#endif 	/* __IGoogleDesktopDisplayContentItemHandler_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayContentItem_FWD_DEFINED__
#define __IGoogleDesktopDisplayContentItem_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayContentItem IGoogleDesktopDisplayContentItem;
#endif 	/* __IGoogleDesktopDisplayContentItem_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayContentItem2_FWD_DEFINED__
#define __IGoogleDesktopDisplayContentItem2_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayContentItem2 IGoogleDesktopDisplayContentItem2;
#endif 	/* __IGoogleDesktopDisplayContentItem2_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayContentItemHelper_FWD_DEFINED__
#define __IGoogleDesktopDisplayContentItemHelper_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayContentItemHelper IGoogleDesktopDisplayContentItemHelper;
#endif 	/* __IGoogleDesktopDisplayContentItemHelper_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayContentItemHelper2_FWD_DEFINED__
#define __IGoogleDesktopDisplayContentItemHelper2_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayContentItemHelper2 IGoogleDesktopDisplayContentItemHelper2;
#endif 	/* __IGoogleDesktopDisplayContentItemHelper2_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayContentItemHelper3_FWD_DEFINED__
#define __IGoogleDesktopDisplayContentItemHelper3_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayContentItemHelper3 IGoogleDesktopDisplayContentItemHelper3;
#endif 	/* __IGoogleDesktopDisplayContentItemHelper3_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayPluginHelper_FWD_DEFINED__
#define __IGoogleDesktopDisplayPluginHelper_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayPluginHelper IGoogleDesktopDisplayPluginHelper;
#endif 	/* __IGoogleDesktopDisplayPluginHelper_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayPluginHelper2_FWD_DEFINED__
#define __IGoogleDesktopDisplayPluginHelper2_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayPluginHelper2 IGoogleDesktopDisplayPluginHelper2;
#endif 	/* __IGoogleDesktopDisplayPluginHelper2_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayPluginHelper3_FWD_DEFINED__
#define __IGoogleDesktopDisplayPluginHelper3_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayPluginHelper3 IGoogleDesktopDisplayPluginHelper3;
#endif 	/* __IGoogleDesktopDisplayPluginHelper3_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayPluginHelper4_FWD_DEFINED__
#define __IGoogleDesktopDisplayPluginHelper4_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayPluginHelper4 IGoogleDesktopDisplayPluginHelper4;
#endif 	/* __IGoogleDesktopDisplayPluginHelper4_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayDetailsViewHandler_FWD_DEFINED__
#define __IGoogleDesktopDisplayDetailsViewHandler_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayDetailsViewHandler IGoogleDesktopDisplayDetailsViewHandler;
#endif 	/* __IGoogleDesktopDisplayDetailsViewHandler_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayDetailsViewHandler2_FWD_DEFINED__
#define __IGoogleDesktopDisplayDetailsViewHandler2_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayDetailsViewHandler2 IGoogleDesktopDisplayDetailsViewHandler2;
#endif 	/* __IGoogleDesktopDisplayDetailsViewHandler2_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayDetailsViewHelper_FWD_DEFINED__
#define __IGoogleDesktopDisplayDetailsViewHelper_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayDetailsViewHelper IGoogleDesktopDisplayDetailsViewHelper;
#endif 	/* __IGoogleDesktopDisplayDetailsViewHelper_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayDetailsViewHelper2_FWD_DEFINED__
#define __IGoogleDesktopDisplayDetailsViewHelper2_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayDetailsViewHelper2 IGoogleDesktopDisplayDetailsViewHelper2;
#endif 	/* __IGoogleDesktopDisplayDetailsViewHelper2_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayNotifier_FWD_DEFINED__
#define __IGoogleDesktopDisplayNotifier_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayNotifier IGoogleDesktopDisplayNotifier;
#endif 	/* __IGoogleDesktopDisplayNotifier_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayWindowControl_FWD_DEFINED__
#define __IGoogleDesktopDisplayWindowControl_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayWindowControl IGoogleDesktopDisplayWindowControl;
#endif 	/* __IGoogleDesktopDisplayWindowControl_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayWindow_FWD_DEFINED__
#define __IGoogleDesktopDisplayWindow_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayWindow IGoogleDesktopDisplayWindow;
#endif 	/* __IGoogleDesktopDisplayWindow_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayMenu_FWD_DEFINED__
#define __IGoogleDesktopDisplayMenu_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayMenu IGoogleDesktopDisplayMenu;
#endif 	/* __IGoogleDesktopDisplayMenu_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayOptions_FWD_DEFINED__
#define __IGoogleDesktopDisplayOptions_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayOptions IGoogleDesktopDisplayOptions;
#endif 	/* __IGoogleDesktopDisplayOptions_FWD_DEFINED__ */


#ifndef __IGoogleDesktopSmallStorage_FWD_DEFINED__
#define __IGoogleDesktopSmallStorage_FWD_DEFINED__
typedef interface IGoogleDesktopSmallStorage IGoogleDesktopSmallStorage;
#endif 	/* __IGoogleDesktopSmallStorage_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayGraphics_FWD_DEFINED__
#define __IGoogleDesktopDisplayGraphics_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayGraphics IGoogleDesktopDisplayGraphics;
#endif 	/* __IGoogleDesktopDisplayGraphics_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayPluginUtils_FWD_DEFINED__
#define __IGoogleDesktopDisplayPluginUtils_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayPluginUtils IGoogleDesktopDisplayPluginUtils;
#endif 	/* __IGoogleDesktopDisplayPluginUtils_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayPluginUtils2_FWD_DEFINED__
#define __IGoogleDesktopDisplayPluginUtils2_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayPluginUtils2 IGoogleDesktopDisplayPluginUtils2;
#endif 	/* __IGoogleDesktopDisplayPluginUtils2_FWD_DEFINED__ */


#ifndef __IGoogleDesktopPersistSmallStorage_FWD_DEFINED__
#define __IGoogleDesktopPersistSmallStorage_FWD_DEFINED__
typedef interface IGoogleDesktopPersistSmallStorage IGoogleDesktopPersistSmallStorage;
#endif 	/* __IGoogleDesktopPersistSmallStorage_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplaySite_FWD_DEFINED__
#define __IGoogleDesktopDisplaySite_FWD_DEFINED__
typedef interface IGoogleDesktopDisplaySite IGoogleDesktopDisplaySite;
#endif 	/* __IGoogleDesktopDisplaySite_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplaySite2_FWD_DEFINED__
#define __IGoogleDesktopDisplaySite2_FWD_DEFINED__
typedef interface IGoogleDesktopDisplaySite2 IGoogleDesktopDisplaySite2;
#endif 	/* __IGoogleDesktopDisplaySite2_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayPluginHandler_FWD_DEFINED__
#define __IGoogleDesktopDisplayPluginHandler_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayPluginHandler IGoogleDesktopDisplayPluginHandler;
#endif 	/* __IGoogleDesktopDisplayPluginHandler_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayPluginHandler2_FWD_DEFINED__
#define __IGoogleDesktopDisplayPluginHandler2_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayPluginHandler2 IGoogleDesktopDisplayPluginHandler2;
#endif 	/* __IGoogleDesktopDisplayPluginHandler2_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayPlugin_FWD_DEFINED__
#define __IGoogleDesktopDisplayPlugin_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayPlugin IGoogleDesktopDisplayPlugin;
#endif 	/* __IGoogleDesktopDisplayPlugin_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayPlugin2_FWD_DEFINED__
#define __IGoogleDesktopDisplayPlugin2_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayPlugin2 IGoogleDesktopDisplayPlugin2;
#endif 	/* __IGoogleDesktopDisplayPlugin2_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayContentItemHandler_FWD_DEFINED__
#define __IGoogleDesktopDisplayContentItemHandler_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayContentItemHandler IGoogleDesktopDisplayContentItemHandler;
#endif 	/* __IGoogleDesktopDisplayContentItemHandler_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayContentItem_FWD_DEFINED__
#define __IGoogleDesktopDisplayContentItem_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayContentItem IGoogleDesktopDisplayContentItem;
#endif 	/* __IGoogleDesktopDisplayContentItem_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayContentItemHelper_FWD_DEFINED__
#define __IGoogleDesktopDisplayContentItemHelper_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayContentItemHelper IGoogleDesktopDisplayContentItemHelper;
#endif 	/* __IGoogleDesktopDisplayContentItemHelper_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayContentItemHelper2_FWD_DEFINED__
#define __IGoogleDesktopDisplayContentItemHelper2_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayContentItemHelper2 IGoogleDesktopDisplayContentItemHelper2;
#endif 	/* __IGoogleDesktopDisplayContentItemHelper2_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayContentItemHelper3_FWD_DEFINED__
#define __IGoogleDesktopDisplayContentItemHelper3_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayContentItemHelper3 IGoogleDesktopDisplayContentItemHelper3;
#endif 	/* __IGoogleDesktopDisplayContentItemHelper3_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayPluginHelper_FWD_DEFINED__
#define __IGoogleDesktopDisplayPluginHelper_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayPluginHelper IGoogleDesktopDisplayPluginHelper;
#endif 	/* __IGoogleDesktopDisplayPluginHelper_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayPluginHelper2_FWD_DEFINED__
#define __IGoogleDesktopDisplayPluginHelper2_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayPluginHelper2 IGoogleDesktopDisplayPluginHelper2;
#endif 	/* __IGoogleDesktopDisplayPluginHelper2_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayPluginHelper3_FWD_DEFINED__
#define __IGoogleDesktopDisplayPluginHelper3_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayPluginHelper3 IGoogleDesktopDisplayPluginHelper3;
#endif 	/* __IGoogleDesktopDisplayPluginHelper3_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayPluginHelper4_FWD_DEFINED__
#define __IGoogleDesktopDisplayPluginHelper4_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayPluginHelper4 IGoogleDesktopDisplayPluginHelper4;
#endif 	/* __IGoogleDesktopDisplayPluginHelper4_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayDetailsViewHelper_FWD_DEFINED__
#define __IGoogleDesktopDisplayDetailsViewHelper_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayDetailsViewHelper IGoogleDesktopDisplayDetailsViewHelper;
#endif 	/* __IGoogleDesktopDisplayDetailsViewHelper_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayDetailsViewHelper2_FWD_DEFINED__
#define __IGoogleDesktopDisplayDetailsViewHelper2_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayDetailsViewHelper2 IGoogleDesktopDisplayDetailsViewHelper2;
#endif 	/* __IGoogleDesktopDisplayDetailsViewHelper2_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayDetailsViewHandler_FWD_DEFINED__
#define __IGoogleDesktopDisplayDetailsViewHandler_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayDetailsViewHandler IGoogleDesktopDisplayDetailsViewHandler;
#endif 	/* __IGoogleDesktopDisplayDetailsViewHandler_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayPluginUtils_FWD_DEFINED__
#define __IGoogleDesktopDisplayPluginUtils_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayPluginUtils IGoogleDesktopDisplayPluginUtils;
#endif 	/* __IGoogleDesktopDisplayPluginUtils_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayPluginUtils2_FWD_DEFINED__
#define __IGoogleDesktopDisplayPluginUtils2_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayPluginUtils2 IGoogleDesktopDisplayPluginUtils2;
#endif 	/* __IGoogleDesktopDisplayPluginUtils2_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayMenu_FWD_DEFINED__
#define __IGoogleDesktopDisplayMenu_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayMenu IGoogleDesktopDisplayMenu;
#endif 	/* __IGoogleDesktopDisplayMenu_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayGraphics_FWD_DEFINED__
#define __IGoogleDesktopDisplayGraphics_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayGraphics IGoogleDesktopDisplayGraphics;
#endif 	/* __IGoogleDesktopDisplayGraphics_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayOptions_FWD_DEFINED__
#define __IGoogleDesktopDisplayOptions_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayOptions IGoogleDesktopDisplayOptions;
#endif 	/* __IGoogleDesktopDisplayOptions_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayWindow_FWD_DEFINED__
#define __IGoogleDesktopDisplayWindow_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayWindow IGoogleDesktopDisplayWindow;
#endif 	/* __IGoogleDesktopDisplayWindow_FWD_DEFINED__ */


#ifndef __IGoogleDesktopDisplayWindowControl_FWD_DEFINED__
#define __IGoogleDesktopDisplayWindowControl_FWD_DEFINED__
typedef interface IGoogleDesktopDisplayWindowControl IGoogleDesktopDisplayWindowControl;
#endif 	/* __IGoogleDesktopDisplayWindowControl_FWD_DEFINED__ */


#ifndef __IGoogleDesktopTalkFriend_FWD_DEFINED__
#define __IGoogleDesktopTalkFriend_FWD_DEFINED__
typedef interface IGoogleDesktopTalkFriend IGoogleDesktopTalkFriend;
#endif 	/* __IGoogleDesktopTalkFriend_FWD_DEFINED__ */


#ifndef __IGoogleDesktopPluginTalkService_FWD_DEFINED__
#define __IGoogleDesktopPluginTalkService_FWD_DEFINED__
typedef interface IGoogleDesktopPluginTalkService IGoogleDesktopPluginTalkService;
#endif 	/* __IGoogleDesktopPluginTalkService_FWD_DEFINED__ */


#ifndef __IGoogleDesktopPluginTalkHandler_FWD_DEFINED__
#define __IGoogleDesktopPluginTalkHandler_FWD_DEFINED__
typedef interface IGoogleDesktopPluginTalkHandler IGoogleDesktopPluginTalkHandler;
#endif 	/* __IGoogleDesktopPluginTalkHandler_FWD_DEFINED__ */


#ifndef __IGoogleDesktopSmallStorage_FWD_DEFINED__
#define __IGoogleDesktopSmallStorage_FWD_DEFINED__
typedef interface IGoogleDesktopSmallStorage IGoogleDesktopSmallStorage;
#endif 	/* __IGoogleDesktopSmallStorage_FWD_DEFINED__ */


#ifndef __IGoogleDesktopPersistSmallStorage_FWD_DEFINED__
#define __IGoogleDesktopPersistSmallStorage_FWD_DEFINED__
typedef interface IGoogleDesktopPersistSmallStorage IGoogleDesktopPersistSmallStorage;
#endif 	/* __IGoogleDesktopPersistSmallStorage_FWD_DEFINED__ */


#ifndef __GoogleDesktopDisplayPluginHelper_FWD_DEFINED__
#define __GoogleDesktopDisplayPluginHelper_FWD_DEFINED__

#ifdef __cplusplus
typedef class GoogleDesktopDisplayPluginHelper GoogleDesktopDisplayPluginHelper;
#else
typedef struct GoogleDesktopDisplayPluginHelper GoogleDesktopDisplayPluginHelper;
#endif /* __cplusplus */

#endif 	/* __GoogleDesktopDisplayPluginHelper_FWD_DEFINED__ */


#ifndef __GoogleDesktopDisplayDetailsViewHelper_FWD_DEFINED__
#define __GoogleDesktopDisplayDetailsViewHelper_FWD_DEFINED__

#ifdef __cplusplus
typedef class GoogleDesktopDisplayDetailsViewHelper GoogleDesktopDisplayDetailsViewHelper;
#else
typedef struct GoogleDesktopDisplayDetailsViewHelper GoogleDesktopDisplayDetailsViewHelper;
#endif /* __cplusplus */

#endif 	/* __GoogleDesktopDisplayDetailsViewHelper_FWD_DEFINED__ */


#ifndef __GoogleDesktopDisplayContentItemHelper_FWD_DEFINED__
#define __GoogleDesktopDisplayContentItemHelper_FWD_DEFINED__

#ifdef __cplusplus
typedef class GoogleDesktopDisplayContentItemHelper GoogleDesktopDisplayContentItemHelper;
#else
typedef struct GoogleDesktopDisplayContentItemHelper GoogleDesktopDisplayContentItemHelper;
#endif /* __cplusplus */

#endif 	/* __GoogleDesktopDisplayContentItemHelper_FWD_DEFINED__ */


#ifndef __GoogleDesktopDisplayUINotification_FWD_DEFINED__
#define __GoogleDesktopDisplayUINotification_FWD_DEFINED__

#ifdef __cplusplus
typedef class GoogleDesktopDisplayUINotification GoogleDesktopDisplayUINotification;
#else
typedef struct GoogleDesktopDisplayUINotification GoogleDesktopDisplayUINotification;
#endif /* __cplusplus */

#endif 	/* __GoogleDesktopDisplayUINotification_FWD_DEFINED__ */


#ifndef __GoogleDesktopSearchPanel_FWD_DEFINED__
#define __GoogleDesktopSearchPanel_FWD_DEFINED__

#ifdef __cplusplus
typedef class GoogleDesktopSearchPanel GoogleDesktopSearchPanel;
#else
typedef struct GoogleDesktopSearchPanel GoogleDesktopSearchPanel;
#endif /* __cplusplus */

#endif 	/* __GoogleDesktopSearchPanel_FWD_DEFINED__ */


#ifndef __GoogleDesktopTalkFriend_FWD_DEFINED__
#define __GoogleDesktopTalkFriend_FWD_DEFINED__

#ifdef __cplusplus
typedef class GoogleDesktopTalkFriend GoogleDesktopTalkFriend;
#else
typedef struct GoogleDesktopTalkFriend GoogleDesktopTalkFriend;
#endif /* __cplusplus */

#endif 	/* __GoogleDesktopTalkFriend_FWD_DEFINED__ */


#ifndef __GoogleDesktopSmallStorage_FWD_DEFINED__
#define __GoogleDesktopSmallStorage_FWD_DEFINED__

#ifdef __cplusplus
typedef class GoogleDesktopSmallStorage GoogleDesktopSmallStorage;
#else
typedef struct GoogleDesktopSmallStorage GoogleDesktopSmallStorage;
#endif /* __cplusplus */

#endif 	/* __GoogleDesktopSmallStorage_FWD_DEFINED__ */


/* header files for imported files */
#include "wtypes.h"
#include "ocidl.h"

#ifdef __cplusplus
extern "C"{
#endif 

void * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void * ); 

/* interface __MIDL_itf_GoogleDesktopDisplayAPI_0000 */
/* [local] */ 

#if 0
typedef long HDC;

#endif
#include <winerror.h>
#define E_TOO_MANY_NOTIFICATIONS         MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x8001)
#define E_CANCEL_PLUGIN_LOAD             MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x8002)

enum __MIDL___MIDL_itf_GoogleDesktopDisplayAPI_0000_0001
    {	DISPID_GDD_CI_START	= 100,
	DISPID_GDD_PH_START	= 200,
	DISPID_GDD_DVH_START	= 300,
	DISPID_GDD_NOTIFY_UI_START	= 400,
	DISPID_GDD_SS_START	= 500,
	DISPID_GDD_SS_COLOR_START	= 550,
	DISPID_GDD_SS_FONT_START	= 575,
	DISPID_GDD_CIHND_START	= 600,
	DISPID_GDD_CIHLP_START	= 700,
	DISPID_GDD_UT_START	= 800,
	DISPID_GDD_WND_CTRL_START	= 900,
	DISPID_GDD_WND_START	= 1000,
	DISPID_GDD_MENU_START	= 1100,
	DISPID_GDD_OPTIONS_START	= 1200,
	DISPID_GDD_GRAPHICS_START	= 1300,
	DISPID_GDD_TALK_FRIEND	= 1400,
	DISPID_GDD_TALK_SERVICE	= 1500,
	DISPID_GDD_PERSIST_SMALL_STORAGE_START	= 1600,
	DISPID_GDD_STORAGE_START	= 1700
    } ;
/* [helpstring][uuid] */ 
enum  DECLSPEC_UUID("DC3768CC-2A51-4754-ABA3-4A30E709B011") GoogleDesktopDisplayDetailsViewFlags
    {	GDD_DETAILS_VIEW_FLAG_NONE	= 0,
	GDD_DETAILS_VIEW_FLAG_TOOLBAR_OPEN	= 1,
	GDD_DETAILS_VIEW_FLAG_NEGATIVE_FEEDBACK	= 2,
	GDD_DETAILS_VIEW_FLAG_REMOVE_BUTTON	= 4,
	GDD_DETAILS_VIEW_FLAG_SHARE_WITH_BUTTON	= 8
    } ;
typedef enum GoogleDesktopDisplayDetailsViewFlags GoogleDesktopDisplayDetailsViewFlags;

/* [helpstring][uuid] */ 
enum  DECLSPEC_UUID("6077834D-1125-42D3-B61D-CF7C37201EA2") GoogleDesktopDisplayPluginFlags
    {	GDD_PLUGIN_FLAG_NONE	= 0,
	GDD_PLUGIN_FLAG_TOOLBAR_BACK	= 1,
	GDD_PLUGIN_FLAG_TOOLBAR_FORWARD	= 2
    } ;
typedef enum GoogleDesktopDisplayPluginFlags GoogleDesktopDisplayPluginFlags;

/* [helpstring][uuid] */ 
enum  DECLSPEC_UUID("4380673B-3A66-4CAE-91B0-12EA9AA6F72C") GoogleDesktopDisplayInfoMasks
    {	GDD_INFO_MASK_NONE	= 0,
	GDD_INFO_MASK_MIN_SIZE	= 1,
	GDD_INFO_MASK_MAX_SIZE	= 2,
	GDD_INFO_MASK_IDEAL_SIZE	= 4
    } ;
typedef enum GoogleDesktopDisplayInfoMasks GoogleDesktopDisplayInfoMasks;

#define GDD_INFO_MASK_ALL (GDD_INFO_MASK_MIN_SIZE | \
  GDD_INFO_MASK_MAX_SIZE | GDD_INFO_MASK_IDEAL_SIZE)
/* [helpstring][uuid] */ 
enum  DECLSPEC_UUID("AA2ADF9B-A6EF-46A2-80A8-D11DDB2DE4BB") GoogleDesktopDisplayPluginCommand
    {	GDD_CMD_ABOUT_DLG	= 1,
	GDD_CMD_TOOLBAR_BACK	= GDD_CMD_ABOUT_DLG + 1,
	GDD_CMD_TOOLBAR_FORWARD	= GDD_CMD_TOOLBAR_BACK + 1
    } ;
typedef enum GoogleDesktopDisplayPluginCommand GoogleDesktopDisplayPluginCommand;

/* [helpstring][uuid] */ 
enum  DECLSPEC_UUID("2A76C89A-7134-426E-90D5-D2BD32E51742") GoogleDesktopDisplayContentItemLayout
    {	GDD_CONTENT_ITEM_LAYOUT_NOWRAP_ITEMS	= 0,
	GDD_CONTENT_ITEM_LAYOUT_NEWS	= GDD_CONTENT_ITEM_LAYOUT_NOWRAP_ITEMS + 1,
	GDD_CONTENT_ITEM_LAYOUT_EMAIL	= GDD_CONTENT_ITEM_LAYOUT_NEWS + 1
    } ;
typedef enum GoogleDesktopDisplayContentItemLayout GoogleDesktopDisplayContentItemLayout;

/* [helpstring][uuid] */ 
enum  DECLSPEC_UUID("0C0028CC-A1B9-42BD-96BF-D67998F2E5FF") GoogleDesktopDisplayContentFlags
    {	GDD_CONTENT_FLAG_NONE	= 0,
	GDD_CONTENT_FLAG_HAVE_DETAILS	= 1,
	GDD_CONTENT_FLAG_PINNABLE	= 2,
	GDD_CONTENT_FLAG_MANUAL_LAYOUT	= 4,
	GDD_CONTENT_FLAG_NO_AUTO_MIN_SIZE	= 8
    } ;
typedef enum GoogleDesktopDisplayContentFlags GoogleDesktopDisplayContentFlags;

/* [helpstring][uuid] */ 
enum  DECLSPEC_UUID("3FDF4CA3-DE7A-42C1-805F-CEC1D658FA42") GoogleDesktopDisplayContentItemFlags
    {	GDD_CONTENT_ITEM_FLAG_NONE	= 0,
	GDD_CONTENT_ITEM_FLAG_STATIC	= 1,
	GDD_CONTENT_ITEM_FLAG_HIGHLIGHTED	= 2,
	GDD_CONTENT_ITEM_FLAG_PINNED	= 4,
	GDD_CONTENT_ITEM_FLAG_TIME_ABSOLUTE	= 8,
	GDD_CONTENT_ITEM_FLAG_NEGATIVE_FEEDBACK	= 16,
	GDD_CONTENT_ITEM_FLAG_LEFT_ICON	= 32,
	GDD_CONTENT_ITEM_FLAG_NO_REMOVE	= 64,
	GDD_CONTENT_ITEM_FLAG_SHAREABLE	= 128,
	GDD_CONTENT_ITEM_FLAG_SHARED	= 256,
	GDD_CONTENT_ITEM_FLAG_INTERACTED	= 512
    } ;
typedef enum GoogleDesktopDisplayContentItemFlags GoogleDesktopDisplayContentItemFlags;

/* [helpstring][uuid] */ 
enum  DECLSPEC_UUID("226B619A-FDE6-4353-88AE-3256B7525E79") GoogleDesktopDisplayTileDisplayState
    {	GDD_TILE_DISPLAY_STATE_HIDDEN	= 0,
	GDD_TILE_DISPLAY_STATE_RESTORED	= GDD_TILE_DISPLAY_STATE_HIDDEN + 1,
	GDD_TILE_DISPLAY_STATE_MINIMIZED	= GDD_TILE_DISPLAY_STATE_RESTORED + 1,
	GDD_TILE_DISPLAY_STATE_POPPED_OUT	= GDD_TILE_DISPLAY_STATE_MINIMIZED + 1,
	GDD_TILE_DISPLAY_STATE_RESIZED	= GDD_TILE_DISPLAY_STATE_POPPED_OUT + 1
    } ;
typedef enum GoogleDesktopDisplayTileDisplayState GoogleDesktopDisplayTileDisplayState;

/* [helpstring][uuid] */ 
enum  DECLSPEC_UUID("064DC207-9D7A-428A-81B8-3637DB88B5CD") GoogleDesktopDisplayTarget
    {	GDD_TARGET_SIDEBAR	= 0,
	GDD_TARGET_NOTIFIER	= GDD_TARGET_SIDEBAR + 1,
	GDD_TARGET_FLOATING_VIEW	= GDD_TARGET_NOTIFIER + 1
    } ;
typedef enum GoogleDesktopDisplayTarget GoogleDesktopDisplayTarget;

/* [helpstring][uuid] */ 
enum  DECLSPEC_UUID("3F7FD359-95E5-4DA8-A4B1-62EF72707C78") GoogleDesktopDisplayDrawItemBackgroundFlags
    {	GDD_DIB_FLAG_NONE	= 0,
	GDD_DIB_FLAG_ONLY_CALCULATE	= 1,
	GDD_DIB_FLAG_ITEM_PRESSED	= 2
    } ;
typedef enum GoogleDesktopDisplayDrawItemBackgroundFlags GoogleDesktopDisplayDrawItemBackgroundFlags;

/* [uuid] */ struct  DECLSPEC_UUID("6192F8E7-D08E-4A6D-809A-E5619A727FA5") GoogleDesktopDisplayTileInfo
    {
    /* [helpstring] */ GoogleDesktopDisplayInfoMasks mask;
    /* [helpstring] */ POINT host_window_size;
    /* [helpstring] */ POINT max_size;
    /* [helpstring] */ POINT min_size;
    /* [helpstring] */ POINT ideal_size;
    } ;
typedef struct GoogleDesktopDisplayTileInfo GoogleDesktopDisplayTileInfo;

/* [helpstring][uuid] */ 
enum  DECLSPEC_UUID("B7F71CC8-8AB9-4072-9AA9-78F91A450A02") GoogleDesktopContentItemDisplayOptions
    {	GDD_ITEM_DISPLAY_IN_SIDEBAR	= 0x1,
	GDD_ITEM_DISPLAY_IN_SIDEBAR_IF_VISIBLE	= 0x2,
	GDD_ITEM_DISPLAY_AS_NOTIFICATION	= 0x4,
	GDD_ITEM_DISPLAY_AS_NOTIFICATION_IF_SIDEBAR_HIDDEN	= 0x8
    } ;
typedef enum GoogleDesktopContentItemDisplayOptions GoogleDesktopContentItemDisplayOptions;

/* [helpstring][uuid] */ 
enum  DECLSPEC_UUID("B1219493-A047-4C32-A59A-35F417E4025D") GoogleDesktopDisplayWindowControlClass
    {	GDD_WND_CTRL_CLASS_LABEL	= 0,
	GDD_WND_CTRL_CLASS_EDIT	= GDD_WND_CTRL_CLASS_LABEL + 1,
	GDD_WND_CTRL_CLASS_LIST	= GDD_WND_CTRL_CLASS_EDIT + 1,
	GDD_WND_CTRL_CLASS_BUTTON	= GDD_WND_CTRL_CLASS_LIST + 1
    } ;
typedef enum GoogleDesktopDisplayWindowControlClass GoogleDesktopDisplayWindowControlClass;

/* [helpstring][uuid] */ 
enum  DECLSPEC_UUID("0151F726-28E2-417F-86BD-DC2606403B79") GoogleDesktopDisplayWindowControlType
    {	GDD_WND_CTRL_TYPE_LIST_OPEN	= 0,
	GDD_WND_CTRL_TYPE_LIST_DROP	= GDD_WND_CTRL_TYPE_LIST_OPEN + 1,
	GDD_WND_CTRL_TYPE_BUTTON_PUSH	= GDD_WND_CTRL_TYPE_LIST_DROP + 1,
	GDD_WND_CTRL_TYPE_BUTTON_CHECK	= GDD_WND_CTRL_TYPE_BUTTON_PUSH + 1,
	GDD_WND_CTRL_TYPE_EDIT_PASSWORD	= 10
    } ;
typedef enum GoogleDesktopDisplayWindowControlType GoogleDesktopDisplayWindowControlType;

/* [helpstring][uuid] */ 
enum  DECLSPEC_UUID("BEDFB8F4-4C2C-4C53-8F92-668EB10163E2") GoogleDesktopPluginLogLevel
    {	GDP_LOG_LEVEL_DEBUG	= 0,
	GDP_LOG_LEVEL_INFO	= 100,
	GDP_LOG_LEVEL_WARNING	= 200,
	GDP_LOG_LEVEL_ERROR	= 300
    } ;
typedef enum GoogleDesktopPluginLogLevel GoogleDesktopPluginLogLevel;


enum __MIDL___MIDL_itf_GoogleDesktopDisplayAPI_0000_0002
    {	DISPID_GDD_SS_TITLE	= DISPID_GDD_SS_START,
	DISPID_GDD_SS_ICON	= DISPID_GDD_SS_TITLE + 1,
	DISPID_GDD_SS_FLAGS	= DISPID_GDD_SS_ICON + 1,
	DISPID_GDD_SS_DISPLAY_STATE	= DISPID_GDD_SS_FLAGS + 1,
	DISPID_GDD_SS_DOCK_SIDE	= DISPID_GDD_SS_DISPLAY_STATE + 1,
	DISPID_GDD_SS_SHOW_DETAILS_VIEW	= DISPID_GDD_SS_DOCK_SIDE + 1,
	DISPID_GDD_SS_CLOSE_DETAILS_VIEW	= DISPID_GDD_SS_SHOW_DETAILS_VIEW + 1,
	DISPID_GDD_SS_CLOSE_POPOUT_VIEW	= DISPID_GDD_SS_CLOSE_DETAILS_VIEW + 1,
	DISPID_GDD_SS_DRAW_ITEM_BACKGROUND	= DISPID_GDD_SS_CLOSE_POPOUT_VIEW + 1,
	DISPID_GDD_SS_WINDOW_VISIBLE	= DISPID_GDD_SS_DRAW_ITEM_BACKGROUND + 1,
	DISPID_GDD_SS_WINDOW_WIDTH	= DISPID_GDD_SS_WINDOW_VISIBLE + 1,
	DISPID_GDD_SS_WINDOW_HEIGHT	= DISPID_GDD_SS_WINDOW_WIDTH + 1,
	DISPID_GDD_SS_REMOVE_ME	= DISPID_GDD_SS_WINDOW_HEIGHT + 1,
	DISPID_GDD_SS_ENSURE_VISIBLE	= DISPID_GDD_SS_REMOVE_ME + 1,
	DISPID_GDD_SS_SET_MAX_SIZE	= DISPID_GDD_SS_ENSURE_VISIBLE + 1,
	DISPID_GDD_SS_SET_MIN_SIZE	= DISPID_GDD_SS_SET_MAX_SIZE + 1,
	DISPID_GDD_SS_SET_IDEAL_SIZE	= DISPID_GDD_SS_SET_MIN_SIZE + 1,
	DISPID_GDD_SS_DISPLAY_TARGET	= DISPID_GDD_SS_SET_IDEAL_SIZE + 1,
	DISPID_GDD_SS_SHOW_ABOUT_DIALOG	= DISPID_GDD_SS_DISPLAY_TARGET + 1,
	DISPID_GDD_SS_LOG_MESSAGE	= DISPID_GDD_SS_SHOW_ABOUT_DIALOG + 1,
	DISPID_GDD_SS_COLOR_SNIPPET	= DISPID_GDD_SS_COLOR_START,
	DISPID_GDD_SS_COLOR_EXTRA_INFO	= DISPID_GDD_SS_COLOR_SNIPPET + 1,
	DISPID_GDD_SS_FONT_SNIPPET	= DISPID_GDD_SS_FONT_START,
	DISPID_GDD_SS_FONT_EXTRA_INFO	= DISPID_GDD_SS_FONT_SNIPPET + 1,
	DISPID_GDD_SS_FONT_ITEM_BOLD	= DISPID_GDD_SS_FONT_EXTRA_INFO + 1
    } ;


extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0000_v0_0_s_ifspec;

#ifndef __IGoogleDesktopDisplaySite_INTERFACE_DEFINED__
#define __IGoogleDesktopDisplaySite_INTERFACE_DEFINED__

/* interface IGoogleDesktopDisplaySite */
/* [object][oleautomation][uuid] */ 


EXTERN_C const IID IID_IGoogleDesktopDisplaySite;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E7C0BEB7-446B-43bf-83E3-5EC37A9DBCC8")
    IGoogleDesktopDisplaySite : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ShowDetailsView( 
            /* [in] */ IUnknown *details_control,
            /* [in] */ BSTR title,
            /* [in] */ GoogleDesktopDisplayDetailsViewFlags flags) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE CloseDetailsView( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ClosePopoutView( void) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_display_state( 
            /* [retval][out] */ GoogleDesktopDisplayTileDisplayState *state) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_display_state( 
            /* [in] */ GoogleDesktopDisplayTileDisplayState state) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_dock_side( 
            /* [retval][out] */ UINT *dock_side) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_title( 
            /* [in] */ BSTR title) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_icon( 
            /* [in] */ IPicture *icon) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_flags( 
            /* [in] */ GoogleDesktopDisplayPluginFlags flags) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE DrawItemBackground( 
            /* [in] */ HDC hdc,
            /* [in] */ const RECT *bounds,
            /* [out] */ RECT *details_button_rect,
            /* [in] */ GoogleDesktopDisplayDrawItemBackgroundFlags flags) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE EnsureVisible( void) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_window_visible( 
            /* [retval][out] */ VARIANT_BOOL *visible) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_window_width( 
            /* [retval][out] */ long *width) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_window_height( 
            /* [retval][out] */ long *height) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE RemoveMe( 
            /* [in] */ VARIANT_BOOL save_data) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SetMaxSize( 
            /* [in] */ long width,
            /* [in] */ long height) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SetMinSize( 
            /* [in] */ long width,
            /* [in] */ long height) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SetIdealSize( 
            /* [in] */ long width,
            /* [in] */ long height) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopDisplaySiteVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopDisplaySite * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopDisplaySite * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopDisplaySite * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGoogleDesktopDisplaySite * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGoogleDesktopDisplaySite * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGoogleDesktopDisplaySite * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGoogleDesktopDisplaySite * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ShowDetailsView )( 
            IGoogleDesktopDisplaySite * This,
            /* [in] */ IUnknown *details_control,
            /* [in] */ BSTR title,
            /* [in] */ GoogleDesktopDisplayDetailsViewFlags flags);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *CloseDetailsView )( 
            IGoogleDesktopDisplaySite * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ClosePopoutView )( 
            IGoogleDesktopDisplaySite * This);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_display_state )( 
            IGoogleDesktopDisplaySite * This,
            /* [retval][out] */ GoogleDesktopDisplayTileDisplayState *state);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_display_state )( 
            IGoogleDesktopDisplaySite * This,
            /* [in] */ GoogleDesktopDisplayTileDisplayState state);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dock_side )( 
            IGoogleDesktopDisplaySite * This,
            /* [retval][out] */ UINT *dock_side);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_title )( 
            IGoogleDesktopDisplaySite * This,
            /* [in] */ BSTR title);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_icon )( 
            IGoogleDesktopDisplaySite * This,
            /* [in] */ IPicture *icon);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_flags )( 
            IGoogleDesktopDisplaySite * This,
            /* [in] */ GoogleDesktopDisplayPluginFlags flags);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *DrawItemBackground )( 
            IGoogleDesktopDisplaySite * This,
            /* [in] */ HDC hdc,
            /* [in] */ const RECT *bounds,
            /* [out] */ RECT *details_button_rect,
            /* [in] */ GoogleDesktopDisplayDrawItemBackgroundFlags flags);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *EnsureVisible )( 
            IGoogleDesktopDisplaySite * This);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_window_visible )( 
            IGoogleDesktopDisplaySite * This,
            /* [retval][out] */ VARIANT_BOOL *visible);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_window_width )( 
            IGoogleDesktopDisplaySite * This,
            /* [retval][out] */ long *width);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_window_height )( 
            IGoogleDesktopDisplaySite * This,
            /* [retval][out] */ long *height);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RemoveMe )( 
            IGoogleDesktopDisplaySite * This,
            /* [in] */ VARIANT_BOOL save_data);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetMaxSize )( 
            IGoogleDesktopDisplaySite * This,
            /* [in] */ long width,
            /* [in] */ long height);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetMinSize )( 
            IGoogleDesktopDisplaySite * This,
            /* [in] */ long width,
            /* [in] */ long height);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetIdealSize )( 
            IGoogleDesktopDisplaySite * This,
            /* [in] */ long width,
            /* [in] */ long height);
        
        END_INTERFACE
    } IGoogleDesktopDisplaySiteVtbl;

    interface IGoogleDesktopDisplaySite
    {
        CONST_VTBL struct IGoogleDesktopDisplaySiteVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopDisplaySite_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopDisplaySite_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopDisplaySite_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopDisplaySite_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IGoogleDesktopDisplaySite_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IGoogleDesktopDisplaySite_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IGoogleDesktopDisplaySite_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IGoogleDesktopDisplaySite_ShowDetailsView(This,details_control,title,flags)	\
    (This)->lpVtbl -> ShowDetailsView(This,details_control,title,flags)

#define IGoogleDesktopDisplaySite_CloseDetailsView(This)	\
    (This)->lpVtbl -> CloseDetailsView(This)

#define IGoogleDesktopDisplaySite_ClosePopoutView(This)	\
    (This)->lpVtbl -> ClosePopoutView(This)

#define IGoogleDesktopDisplaySite_get_display_state(This,state)	\
    (This)->lpVtbl -> get_display_state(This,state)

#define IGoogleDesktopDisplaySite_put_display_state(This,state)	\
    (This)->lpVtbl -> put_display_state(This,state)

#define IGoogleDesktopDisplaySite_get_dock_side(This,dock_side)	\
    (This)->lpVtbl -> get_dock_side(This,dock_side)

#define IGoogleDesktopDisplaySite_put_title(This,title)	\
    (This)->lpVtbl -> put_title(This,title)

#define IGoogleDesktopDisplaySite_put_icon(This,icon)	\
    (This)->lpVtbl -> put_icon(This,icon)

#define IGoogleDesktopDisplaySite_put_flags(This,flags)	\
    (This)->lpVtbl -> put_flags(This,flags)

#define IGoogleDesktopDisplaySite_DrawItemBackground(This,hdc,bounds,details_button_rect,flags)	\
    (This)->lpVtbl -> DrawItemBackground(This,hdc,bounds,details_button_rect,flags)

#define IGoogleDesktopDisplaySite_EnsureVisible(This)	\
    (This)->lpVtbl -> EnsureVisible(This)

#define IGoogleDesktopDisplaySite_get_window_visible(This,visible)	\
    (This)->lpVtbl -> get_window_visible(This,visible)

#define IGoogleDesktopDisplaySite_get_window_width(This,width)	\
    (This)->lpVtbl -> get_window_width(This,width)

#define IGoogleDesktopDisplaySite_get_window_height(This,height)	\
    (This)->lpVtbl -> get_window_height(This,height)

#define IGoogleDesktopDisplaySite_RemoveMe(This,save_data)	\
    (This)->lpVtbl -> RemoveMe(This,save_data)

#define IGoogleDesktopDisplaySite_SetMaxSize(This,width,height)	\
    (This)->lpVtbl -> SetMaxSize(This,width,height)

#define IGoogleDesktopDisplaySite_SetMinSize(This,width,height)	\
    (This)->lpVtbl -> SetMinSize(This,width,height)

#define IGoogleDesktopDisplaySite_SetIdealSize(This,width,height)	\
    (This)->lpVtbl -> SetIdealSize(This,width,height)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplaySite_ShowDetailsView_Proxy( 
    IGoogleDesktopDisplaySite * This,
    /* [in] */ IUnknown *details_control,
    /* [in] */ BSTR title,
    /* [in] */ GoogleDesktopDisplayDetailsViewFlags flags);


void __RPC_STUB IGoogleDesktopDisplaySite_ShowDetailsView_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplaySite_CloseDetailsView_Proxy( 
    IGoogleDesktopDisplaySite * This);


void __RPC_STUB IGoogleDesktopDisplaySite_CloseDetailsView_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplaySite_ClosePopoutView_Proxy( 
    IGoogleDesktopDisplaySite * This);


void __RPC_STUB IGoogleDesktopDisplaySite_ClosePopoutView_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplaySite_get_display_state_Proxy( 
    IGoogleDesktopDisplaySite * This,
    /* [retval][out] */ GoogleDesktopDisplayTileDisplayState *state);


void __RPC_STUB IGoogleDesktopDisplaySite_get_display_state_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplaySite_put_display_state_Proxy( 
    IGoogleDesktopDisplaySite * This,
    /* [in] */ GoogleDesktopDisplayTileDisplayState state);


void __RPC_STUB IGoogleDesktopDisplaySite_put_display_state_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplaySite_get_dock_side_Proxy( 
    IGoogleDesktopDisplaySite * This,
    /* [retval][out] */ UINT *dock_side);


void __RPC_STUB IGoogleDesktopDisplaySite_get_dock_side_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplaySite_put_title_Proxy( 
    IGoogleDesktopDisplaySite * This,
    /* [in] */ BSTR title);


void __RPC_STUB IGoogleDesktopDisplaySite_put_title_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplaySite_put_icon_Proxy( 
    IGoogleDesktopDisplaySite * This,
    /* [in] */ IPicture *icon);


void __RPC_STUB IGoogleDesktopDisplaySite_put_icon_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplaySite_put_flags_Proxy( 
    IGoogleDesktopDisplaySite * This,
    /* [in] */ GoogleDesktopDisplayPluginFlags flags);


void __RPC_STUB IGoogleDesktopDisplaySite_put_flags_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplaySite_DrawItemBackground_Proxy( 
    IGoogleDesktopDisplaySite * This,
    /* [in] */ HDC hdc,
    /* [in] */ const RECT *bounds,
    /* [out] */ RECT *details_button_rect,
    /* [in] */ GoogleDesktopDisplayDrawItemBackgroundFlags flags);


void __RPC_STUB IGoogleDesktopDisplaySite_DrawItemBackground_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplaySite_EnsureVisible_Proxy( 
    IGoogleDesktopDisplaySite * This);


void __RPC_STUB IGoogleDesktopDisplaySite_EnsureVisible_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplaySite_get_window_visible_Proxy( 
    IGoogleDesktopDisplaySite * This,
    /* [retval][out] */ VARIANT_BOOL *visible);


void __RPC_STUB IGoogleDesktopDisplaySite_get_window_visible_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplaySite_get_window_width_Proxy( 
    IGoogleDesktopDisplaySite * This,
    /* [retval][out] */ long *width);


void __RPC_STUB IGoogleDesktopDisplaySite_get_window_width_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplaySite_get_window_height_Proxy( 
    IGoogleDesktopDisplaySite * This,
    /* [retval][out] */ long *height);


void __RPC_STUB IGoogleDesktopDisplaySite_get_window_height_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplaySite_RemoveMe_Proxy( 
    IGoogleDesktopDisplaySite * This,
    /* [in] */ VARIANT_BOOL save_data);


void __RPC_STUB IGoogleDesktopDisplaySite_RemoveMe_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplaySite_SetMaxSize_Proxy( 
    IGoogleDesktopDisplaySite * This,
    /* [in] */ long width,
    /* [in] */ long height);


void __RPC_STUB IGoogleDesktopDisplaySite_SetMaxSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplaySite_SetMinSize_Proxy( 
    IGoogleDesktopDisplaySite * This,
    /* [in] */ long width,
    /* [in] */ long height);


void __RPC_STUB IGoogleDesktopDisplaySite_SetMinSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplaySite_SetIdealSize_Proxy( 
    IGoogleDesktopDisplaySite * This,
    /* [in] */ long width,
    /* [in] */ long height);


void __RPC_STUB IGoogleDesktopDisplaySite_SetIdealSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopDisplaySite_INTERFACE_DEFINED__ */


#ifndef __IGoogleDesktopDisplaySite2_INTERFACE_DEFINED__
#define __IGoogleDesktopDisplaySite2_INTERFACE_DEFINED__

/* interface IGoogleDesktopDisplaySite2 */
/* [object][oleautomation][uuid] */ 


EXTERN_C const IID IID_IGoogleDesktopDisplaySite2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C5006908-0C7A-49E2-85DA-C2675E554F91")
    IGoogleDesktopDisplaySite2 : public IGoogleDesktopDisplaySite
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_display_target( 
            /* [retval][out] */ GoogleDesktopDisplayTarget *target) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ShowAboutDialog( 
            /* [in] */ IPicture *icon,
            /* [in] */ BSTR text) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE LogMessage( 
            /* [in] */ GoogleDesktopPluginLogLevel level,
            /* [in] */ BSTR category,
            /* [in] */ BSTR text) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopDisplaySite2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopDisplaySite2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopDisplaySite2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopDisplaySite2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGoogleDesktopDisplaySite2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGoogleDesktopDisplaySite2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGoogleDesktopDisplaySite2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGoogleDesktopDisplaySite2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ShowDetailsView )( 
            IGoogleDesktopDisplaySite2 * This,
            /* [in] */ IUnknown *details_control,
            /* [in] */ BSTR title,
            /* [in] */ GoogleDesktopDisplayDetailsViewFlags flags);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *CloseDetailsView )( 
            IGoogleDesktopDisplaySite2 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ClosePopoutView )( 
            IGoogleDesktopDisplaySite2 * This);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_display_state )( 
            IGoogleDesktopDisplaySite2 * This,
            /* [retval][out] */ GoogleDesktopDisplayTileDisplayState *state);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_display_state )( 
            IGoogleDesktopDisplaySite2 * This,
            /* [in] */ GoogleDesktopDisplayTileDisplayState state);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dock_side )( 
            IGoogleDesktopDisplaySite2 * This,
            /* [retval][out] */ UINT *dock_side);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_title )( 
            IGoogleDesktopDisplaySite2 * This,
            /* [in] */ BSTR title);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_icon )( 
            IGoogleDesktopDisplaySite2 * This,
            /* [in] */ IPicture *icon);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_flags )( 
            IGoogleDesktopDisplaySite2 * This,
            /* [in] */ GoogleDesktopDisplayPluginFlags flags);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *DrawItemBackground )( 
            IGoogleDesktopDisplaySite2 * This,
            /* [in] */ HDC hdc,
            /* [in] */ const RECT *bounds,
            /* [out] */ RECT *details_button_rect,
            /* [in] */ GoogleDesktopDisplayDrawItemBackgroundFlags flags);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *EnsureVisible )( 
            IGoogleDesktopDisplaySite2 * This);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_window_visible )( 
            IGoogleDesktopDisplaySite2 * This,
            /* [retval][out] */ VARIANT_BOOL *visible);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_window_width )( 
            IGoogleDesktopDisplaySite2 * This,
            /* [retval][out] */ long *width);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_window_height )( 
            IGoogleDesktopDisplaySite2 * This,
            /* [retval][out] */ long *height);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RemoveMe )( 
            IGoogleDesktopDisplaySite2 * This,
            /* [in] */ VARIANT_BOOL save_data);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetMaxSize )( 
            IGoogleDesktopDisplaySite2 * This,
            /* [in] */ long width,
            /* [in] */ long height);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetMinSize )( 
            IGoogleDesktopDisplaySite2 * This,
            /* [in] */ long width,
            /* [in] */ long height);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetIdealSize )( 
            IGoogleDesktopDisplaySite2 * This,
            /* [in] */ long width,
            /* [in] */ long height);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_display_target )( 
            IGoogleDesktopDisplaySite2 * This,
            /* [retval][out] */ GoogleDesktopDisplayTarget *target);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ShowAboutDialog )( 
            IGoogleDesktopDisplaySite2 * This,
            /* [in] */ IPicture *icon,
            /* [in] */ BSTR text);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *LogMessage )( 
            IGoogleDesktopDisplaySite2 * This,
            /* [in] */ GoogleDesktopPluginLogLevel level,
            /* [in] */ BSTR category,
            /* [in] */ BSTR text);
        
        END_INTERFACE
    } IGoogleDesktopDisplaySite2Vtbl;

    interface IGoogleDesktopDisplaySite2
    {
        CONST_VTBL struct IGoogleDesktopDisplaySite2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopDisplaySite2_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopDisplaySite2_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopDisplaySite2_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopDisplaySite2_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IGoogleDesktopDisplaySite2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IGoogleDesktopDisplaySite2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IGoogleDesktopDisplaySite2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IGoogleDesktopDisplaySite2_ShowDetailsView(This,details_control,title,flags)	\
    (This)->lpVtbl -> ShowDetailsView(This,details_control,title,flags)

#define IGoogleDesktopDisplaySite2_CloseDetailsView(This)	\
    (This)->lpVtbl -> CloseDetailsView(This)

#define IGoogleDesktopDisplaySite2_ClosePopoutView(This)	\
    (This)->lpVtbl -> ClosePopoutView(This)

#define IGoogleDesktopDisplaySite2_get_display_state(This,state)	\
    (This)->lpVtbl -> get_display_state(This,state)

#define IGoogleDesktopDisplaySite2_put_display_state(This,state)	\
    (This)->lpVtbl -> put_display_state(This,state)

#define IGoogleDesktopDisplaySite2_get_dock_side(This,dock_side)	\
    (This)->lpVtbl -> get_dock_side(This,dock_side)

#define IGoogleDesktopDisplaySite2_put_title(This,title)	\
    (This)->lpVtbl -> put_title(This,title)

#define IGoogleDesktopDisplaySite2_put_icon(This,icon)	\
    (This)->lpVtbl -> put_icon(This,icon)

#define IGoogleDesktopDisplaySite2_put_flags(This,flags)	\
    (This)->lpVtbl -> put_flags(This,flags)

#define IGoogleDesktopDisplaySite2_DrawItemBackground(This,hdc,bounds,details_button_rect,flags)	\
    (This)->lpVtbl -> DrawItemBackground(This,hdc,bounds,details_button_rect,flags)

#define IGoogleDesktopDisplaySite2_EnsureVisible(This)	\
    (This)->lpVtbl -> EnsureVisible(This)

#define IGoogleDesktopDisplaySite2_get_window_visible(This,visible)	\
    (This)->lpVtbl -> get_window_visible(This,visible)

#define IGoogleDesktopDisplaySite2_get_window_width(This,width)	\
    (This)->lpVtbl -> get_window_width(This,width)

#define IGoogleDesktopDisplaySite2_get_window_height(This,height)	\
    (This)->lpVtbl -> get_window_height(This,height)

#define IGoogleDesktopDisplaySite2_RemoveMe(This,save_data)	\
    (This)->lpVtbl -> RemoveMe(This,save_data)

#define IGoogleDesktopDisplaySite2_SetMaxSize(This,width,height)	\
    (This)->lpVtbl -> SetMaxSize(This,width,height)

#define IGoogleDesktopDisplaySite2_SetMinSize(This,width,height)	\
    (This)->lpVtbl -> SetMinSize(This,width,height)

#define IGoogleDesktopDisplaySite2_SetIdealSize(This,width,height)	\
    (This)->lpVtbl -> SetIdealSize(This,width,height)


#define IGoogleDesktopDisplaySite2_get_display_target(This,target)	\
    (This)->lpVtbl -> get_display_target(This,target)

#define IGoogleDesktopDisplaySite2_ShowAboutDialog(This,icon,text)	\
    (This)->lpVtbl -> ShowAboutDialog(This,icon,text)

#define IGoogleDesktopDisplaySite2_LogMessage(This,level,category,text)	\
    (This)->lpVtbl -> LogMessage(This,level,category,text)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplaySite2_get_display_target_Proxy( 
    IGoogleDesktopDisplaySite2 * This,
    /* [retval][out] */ GoogleDesktopDisplayTarget *target);


void __RPC_STUB IGoogleDesktopDisplaySite2_get_display_target_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplaySite2_ShowAboutDialog_Proxy( 
    IGoogleDesktopDisplaySite2 * This,
    /* [in] */ IPicture *icon,
    /* [in] */ BSTR text);


void __RPC_STUB IGoogleDesktopDisplaySite2_ShowAboutDialog_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplaySite2_LogMessage_Proxy( 
    IGoogleDesktopDisplaySite2 * This,
    /* [in] */ GoogleDesktopPluginLogLevel level,
    /* [in] */ BSTR category,
    /* [in] */ BSTR text);


void __RPC_STUB IGoogleDesktopDisplaySite2_LogMessage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopDisplaySite2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_GoogleDesktopDisplayAPI_0258 */
/* [local] */ 


enum __MIDL___MIDL_itf_GoogleDesktopDisplayAPI_0258_0001
    {	DISPID_GDD_GTF_NAME	= DISPID_GDD_TALK_FRIEND,
	DISPID_GDD_GTF_USER_ID	= DISPID_GDD_GTF_NAME + 1,
	DISPID_GDD_GTF_EMAIL_ADDRESS	= DISPID_GDD_GTF_USER_ID + 1,
	DISPID_GDD_GTF_SIDEBAR	= DISPID_GDD_GTF_EMAIL_ADDRESS + 1,
	DISPID_GDD_GTF_STATUS	= DISPID_GDD_GTF_SIDEBAR + 1
    } ;
/* [helpstring][uuid] */ 
enum  DECLSPEC_UUID("7597BD72-673D-415f-8C06-1A4C26003D46") GoogleDesktopTalkFriendStatus
    {	GDD_FRIEND_STATUS_ONLINE	= 0,
	GDD_FRIEND_STATUS_IDLE	= GDD_FRIEND_STATUS_ONLINE + 1,
	GDD_FRIEND_STATUS_BUSY	= GDD_FRIEND_STATUS_IDLE + 1
    } ;
typedef enum GoogleDesktopTalkFriendStatus GoogleDesktopTalkFriendStatus;



extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0258_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0258_v0_0_s_ifspec;

#ifndef __IGoogleDesktopTalkFriend_INTERFACE_DEFINED__
#define __IGoogleDesktopTalkFriend_INTERFACE_DEFINED__

/* interface IGoogleDesktopTalkFriend */
/* [unique][dual][uuid][object] */ 


EXTERN_C const IID IID_IGoogleDesktopTalkFriend;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E4853C4B-43EB-41de-A0B1-B5B97C31CB0A")
    IGoogleDesktopTalkFriend : public IDispatch
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_name( 
            /* [retval][out] */ BSTR *name) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_user_id( 
            /* [retval][out] */ BSTR *user_id) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_email_address( 
            /* [retval][out] */ BSTR *email_address) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_has_sidebar( 
            /* [retval][out] */ VARIANT_BOOL *installed) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_status( 
            /* [retval][out] */ GoogleDesktopTalkFriendStatus *status) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopTalkFriendVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopTalkFriend * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopTalkFriend * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopTalkFriend * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGoogleDesktopTalkFriend * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGoogleDesktopTalkFriend * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGoogleDesktopTalkFriend * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGoogleDesktopTalkFriend * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_name )( 
            IGoogleDesktopTalkFriend * This,
            /* [retval][out] */ BSTR *name);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_user_id )( 
            IGoogleDesktopTalkFriend * This,
            /* [retval][out] */ BSTR *user_id);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_email_address )( 
            IGoogleDesktopTalkFriend * This,
            /* [retval][out] */ BSTR *email_address);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_has_sidebar )( 
            IGoogleDesktopTalkFriend * This,
            /* [retval][out] */ VARIANT_BOOL *installed);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 
            IGoogleDesktopTalkFriend * This,
            /* [retval][out] */ GoogleDesktopTalkFriendStatus *status);
        
        END_INTERFACE
    } IGoogleDesktopTalkFriendVtbl;

    interface IGoogleDesktopTalkFriend
    {
        CONST_VTBL struct IGoogleDesktopTalkFriendVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopTalkFriend_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopTalkFriend_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopTalkFriend_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopTalkFriend_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IGoogleDesktopTalkFriend_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IGoogleDesktopTalkFriend_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IGoogleDesktopTalkFriend_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IGoogleDesktopTalkFriend_get_name(This,name)	\
    (This)->lpVtbl -> get_name(This,name)

#define IGoogleDesktopTalkFriend_get_user_id(This,user_id)	\
    (This)->lpVtbl -> get_user_id(This,user_id)

#define IGoogleDesktopTalkFriend_get_email_address(This,email_address)	\
    (This)->lpVtbl -> get_email_address(This,email_address)

#define IGoogleDesktopTalkFriend_get_has_sidebar(This,installed)	\
    (This)->lpVtbl -> get_has_sidebar(This,installed)

#define IGoogleDesktopTalkFriend_get_status(This,status)	\
    (This)->lpVtbl -> get_status(This,status)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [propget][id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopTalkFriend_get_name_Proxy( 
    IGoogleDesktopTalkFriend * This,
    /* [retval][out] */ BSTR *name);


void __RPC_STUB IGoogleDesktopTalkFriend_get_name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopTalkFriend_get_user_id_Proxy( 
    IGoogleDesktopTalkFriend * This,
    /* [retval][out] */ BSTR *user_id);


void __RPC_STUB IGoogleDesktopTalkFriend_get_user_id_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopTalkFriend_get_email_address_Proxy( 
    IGoogleDesktopTalkFriend * This,
    /* [retval][out] */ BSTR *email_address);


void __RPC_STUB IGoogleDesktopTalkFriend_get_email_address_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopTalkFriend_get_has_sidebar_Proxy( 
    IGoogleDesktopTalkFriend * This,
    /* [retval][out] */ VARIANT_BOOL *installed);


void __RPC_STUB IGoogleDesktopTalkFriend_get_has_sidebar_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopTalkFriend_get_status_Proxy( 
    IGoogleDesktopTalkFriend * This,
    /* [retval][out] */ GoogleDesktopTalkFriendStatus *status);


void __RPC_STUB IGoogleDesktopTalkFriend_get_status_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopTalkFriend_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_GoogleDesktopDisplayAPI_0259 */
/* [local] */ 


enum __MIDL___MIDL_itf_GoogleDesktopDisplayAPI_0259_0001
    {	DISPID_GDD_GTS_SEND_DATA	= DISPID_GDD_TALK_SERVICE,
	DISPID_GDD_GTS_SEND_MESSAGE	= DISPID_GDD_GTS_SEND_DATA + 1,
	DISPID_GDD_GTS_GET_FRIENDS	= DISPID_GDD_GTS_SEND_MESSAGE + 1,
	DISPID_GDD_GTS_ON_RECEIVE_DATA	= DISPID_GDD_GTS_GET_FRIENDS + 1
    } ;


extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0259_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0259_v0_0_s_ifspec;

#ifndef __IGoogleDesktopPluginTalkService_INTERFACE_DEFINED__
#define __IGoogleDesktopPluginTalkService_INTERFACE_DEFINED__

/* interface IGoogleDesktopPluginTalkService */
/* [unique][dual][uuid][object] */ 


EXTERN_C const IID IID_IGoogleDesktopPluginTalkService;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("817BB97F-AF26-44f0-B1FA-341D5A114AEB")
    IGoogleDesktopPluginTalkService : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SendTalkData( 
            /* [in] */ BSTR user_id,
            /* [in] */ BSTR data) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SendTalkText( 
            /* [in] */ BSTR user_id,
            /* [in] */ BSTR message) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_friends( 
            /* [retval][out] */ VARIANT *friends) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_onReceiveTalkData( 
            /* [in] */ VARIANT handler) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopPluginTalkServiceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopPluginTalkService * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopPluginTalkService * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopPluginTalkService * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGoogleDesktopPluginTalkService * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGoogleDesktopPluginTalkService * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGoogleDesktopPluginTalkService * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGoogleDesktopPluginTalkService * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SendTalkData )( 
            IGoogleDesktopPluginTalkService * This,
            /* [in] */ BSTR user_id,
            /* [in] */ BSTR data);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SendTalkText )( 
            IGoogleDesktopPluginTalkService * This,
            /* [in] */ BSTR user_id,
            /* [in] */ BSTR message);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_friends )( 
            IGoogleDesktopPluginTalkService * This,
            /* [retval][out] */ VARIANT *friends);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onReceiveTalkData )( 
            IGoogleDesktopPluginTalkService * This,
            /* [in] */ VARIANT handler);
        
        END_INTERFACE
    } IGoogleDesktopPluginTalkServiceVtbl;

    interface IGoogleDesktopPluginTalkService
    {
        CONST_VTBL struct IGoogleDesktopPluginTalkServiceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopPluginTalkService_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopPluginTalkService_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopPluginTalkService_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopPluginTalkService_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IGoogleDesktopPluginTalkService_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IGoogleDesktopPluginTalkService_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IGoogleDesktopPluginTalkService_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IGoogleDesktopPluginTalkService_SendTalkData(This,user_id,data)	\
    (This)->lpVtbl -> SendTalkData(This,user_id,data)

#define IGoogleDesktopPluginTalkService_SendTalkText(This,user_id,message)	\
    (This)->lpVtbl -> SendTalkText(This,user_id,message)

#define IGoogleDesktopPluginTalkService_get_friends(This,friends)	\
    (This)->lpVtbl -> get_friends(This,friends)

#define IGoogleDesktopPluginTalkService_put_onReceiveTalkData(This,handler)	\
    (This)->lpVtbl -> put_onReceiveTalkData(This,handler)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopPluginTalkService_SendTalkData_Proxy( 
    IGoogleDesktopPluginTalkService * This,
    /* [in] */ BSTR user_id,
    /* [in] */ BSTR data);


void __RPC_STUB IGoogleDesktopPluginTalkService_SendTalkData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopPluginTalkService_SendTalkText_Proxy( 
    IGoogleDesktopPluginTalkService * This,
    /* [in] */ BSTR user_id,
    /* [in] */ BSTR message);


void __RPC_STUB IGoogleDesktopPluginTalkService_SendTalkText_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopPluginTalkService_get_friends_Proxy( 
    IGoogleDesktopPluginTalkService * This,
    /* [retval][out] */ VARIANT *friends);


void __RPC_STUB IGoogleDesktopPluginTalkService_get_friends_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopPluginTalkService_put_onReceiveTalkData_Proxy( 
    IGoogleDesktopPluginTalkService * This,
    /* [in] */ VARIANT handler);


void __RPC_STUB IGoogleDesktopPluginTalkService_put_onReceiveTalkData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopPluginTalkService_INTERFACE_DEFINED__ */


#ifndef __IGoogleDesktopPluginTalkHandler_INTERFACE_DEFINED__
#define __IGoogleDesktopPluginTalkHandler_INTERFACE_DEFINED__

/* interface IGoogleDesktopPluginTalkHandler */
/* [object][uuid] */ 


EXTERN_C const IID IID_IGoogleDesktopPluginTalkHandler;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F5D3F8B1-5330-4e22-B2E1-C66C475D9A2D")
    IGoogleDesktopPluginTalkHandler : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE OnReceiveTalkMessage( 
            /* [in] */ IDispatch *talk_friend,
            /* [in] */ BSTR data) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopPluginTalkHandlerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopPluginTalkHandler * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopPluginTalkHandler * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopPluginTalkHandler * This);
        
        HRESULT ( STDMETHODCALLTYPE *OnReceiveTalkMessage )( 
            IGoogleDesktopPluginTalkHandler * This,
            /* [in] */ IDispatch *talk_friend,
            /* [in] */ BSTR data);
        
        END_INTERFACE
    } IGoogleDesktopPluginTalkHandlerVtbl;

    interface IGoogleDesktopPluginTalkHandler
    {
        CONST_VTBL struct IGoogleDesktopPluginTalkHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopPluginTalkHandler_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopPluginTalkHandler_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopPluginTalkHandler_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopPluginTalkHandler_OnReceiveTalkMessage(This,talk_friend,data)	\
    (This)->lpVtbl -> OnReceiveTalkMessage(This,talk_friend,data)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IGoogleDesktopPluginTalkHandler_OnReceiveTalkMessage_Proxy( 
    IGoogleDesktopPluginTalkHandler * This,
    /* [in] */ IDispatch *talk_friend,
    /* [in] */ BSTR data);


void __RPC_STUB IGoogleDesktopPluginTalkHandler_OnReceiveTalkMessage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopPluginTalkHandler_INTERFACE_DEFINED__ */


#ifndef __IGoogleDesktopDisplayPluginHandler_INTERFACE_DEFINED__
#define __IGoogleDesktopDisplayPluginHandler_INTERFACE_DEFINED__

/* interface IGoogleDesktopDisplayPluginHandler */
/* [object][uuid] */ 


EXTERN_C const IID IID_IGoogleDesktopDisplayPluginHandler;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("047ED090-1514-4731-9452-C1147CF8FC15")
    IGoogleDesktopDisplayPluginHandler : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE OnCommand( 
            /* [in] */ GoogleDesktopDisplayPluginCommand command) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnDisplayStateChange( 
            /* [in] */ GoogleDesktopDisplayTileDisplayState display_state) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopDisplayPluginHandlerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopDisplayPluginHandler * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopDisplayPluginHandler * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopDisplayPluginHandler * This);
        
        HRESULT ( STDMETHODCALLTYPE *OnCommand )( 
            IGoogleDesktopDisplayPluginHandler * This,
            /* [in] */ GoogleDesktopDisplayPluginCommand command);
        
        HRESULT ( STDMETHODCALLTYPE *OnDisplayStateChange )( 
            IGoogleDesktopDisplayPluginHandler * This,
            /* [in] */ GoogleDesktopDisplayTileDisplayState display_state);
        
        END_INTERFACE
    } IGoogleDesktopDisplayPluginHandlerVtbl;

    interface IGoogleDesktopDisplayPluginHandler
    {
        CONST_VTBL struct IGoogleDesktopDisplayPluginHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopDisplayPluginHandler_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopDisplayPluginHandler_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopDisplayPluginHandler_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopDisplayPluginHandler_OnCommand(This,command)	\
    (This)->lpVtbl -> OnCommand(This,command)

#define IGoogleDesktopDisplayPluginHandler_OnDisplayStateChange(This,display_state)	\
    (This)->lpVtbl -> OnDisplayStateChange(This,display_state)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginHandler_OnCommand_Proxy( 
    IGoogleDesktopDisplayPluginHandler * This,
    /* [in] */ GoogleDesktopDisplayPluginCommand command);


void __RPC_STUB IGoogleDesktopDisplayPluginHandler_OnCommand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginHandler_OnDisplayStateChange_Proxy( 
    IGoogleDesktopDisplayPluginHandler * This,
    /* [in] */ GoogleDesktopDisplayTileDisplayState display_state);


void __RPC_STUB IGoogleDesktopDisplayPluginHandler_OnDisplayStateChange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopDisplayPluginHandler_INTERFACE_DEFINED__ */


#ifndef __IGoogleDesktopDisplayPluginHandler2_INTERFACE_DEFINED__
#define __IGoogleDesktopDisplayPluginHandler2_INTERFACE_DEFINED__

/* interface IGoogleDesktopDisplayPluginHandler2 */
/* [object][uuid] */ 


EXTERN_C const IID IID_IGoogleDesktopDisplayPluginHandler2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("74C3F045-6808-48ed-BAAC-18F2403F36B1")
    IGoogleDesktopDisplayPluginHandler2 : public IGoogleDesktopDisplayPluginHandler
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetItemData( 
            /* [in] */ IUnknown *item,
            /* [retval][out] */ BSTR *data) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetItemText( 
            /* [in] */ IUnknown *item,
            /* [retval][out] */ BSTR *message) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnReceiveTalkMessage( 
            /* [in] */ IDispatch *talk_friend,
            /* [in] */ BSTR data) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnDisplayTargetChange( 
            /* [in] */ GoogleDesktopDisplayTarget display_target) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopDisplayPluginHandler2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopDisplayPluginHandler2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopDisplayPluginHandler2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopDisplayPluginHandler2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *OnCommand )( 
            IGoogleDesktopDisplayPluginHandler2 * This,
            /* [in] */ GoogleDesktopDisplayPluginCommand command);
        
        HRESULT ( STDMETHODCALLTYPE *OnDisplayStateChange )( 
            IGoogleDesktopDisplayPluginHandler2 * This,
            /* [in] */ GoogleDesktopDisplayTileDisplayState display_state);
        
        HRESULT ( STDMETHODCALLTYPE *GetItemData )( 
            IGoogleDesktopDisplayPluginHandler2 * This,
            /* [in] */ IUnknown *item,
            /* [retval][out] */ BSTR *data);
        
        HRESULT ( STDMETHODCALLTYPE *GetItemText )( 
            IGoogleDesktopDisplayPluginHandler2 * This,
            /* [in] */ IUnknown *item,
            /* [retval][out] */ BSTR *message);
        
        HRESULT ( STDMETHODCALLTYPE *OnReceiveTalkMessage )( 
            IGoogleDesktopDisplayPluginHandler2 * This,
            /* [in] */ IDispatch *talk_friend,
            /* [in] */ BSTR data);
        
        HRESULT ( STDMETHODCALLTYPE *OnDisplayTargetChange )( 
            IGoogleDesktopDisplayPluginHandler2 * This,
            /* [in] */ GoogleDesktopDisplayTarget display_target);
        
        END_INTERFACE
    } IGoogleDesktopDisplayPluginHandler2Vtbl;

    interface IGoogleDesktopDisplayPluginHandler2
    {
        CONST_VTBL struct IGoogleDesktopDisplayPluginHandler2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopDisplayPluginHandler2_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopDisplayPluginHandler2_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopDisplayPluginHandler2_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopDisplayPluginHandler2_OnCommand(This,command)	\
    (This)->lpVtbl -> OnCommand(This,command)

#define IGoogleDesktopDisplayPluginHandler2_OnDisplayStateChange(This,display_state)	\
    (This)->lpVtbl -> OnDisplayStateChange(This,display_state)


#define IGoogleDesktopDisplayPluginHandler2_GetItemData(This,item,data)	\
    (This)->lpVtbl -> GetItemData(This,item,data)

#define IGoogleDesktopDisplayPluginHandler2_GetItemText(This,item,message)	\
    (This)->lpVtbl -> GetItemText(This,item,message)

#define IGoogleDesktopDisplayPluginHandler2_OnReceiveTalkMessage(This,talk_friend,data)	\
    (This)->lpVtbl -> OnReceiveTalkMessage(This,talk_friend,data)

#define IGoogleDesktopDisplayPluginHandler2_OnDisplayTargetChange(This,display_target)	\
    (This)->lpVtbl -> OnDisplayTargetChange(This,display_target)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginHandler2_GetItemData_Proxy( 
    IGoogleDesktopDisplayPluginHandler2 * This,
    /* [in] */ IUnknown *item,
    /* [retval][out] */ BSTR *data);


void __RPC_STUB IGoogleDesktopDisplayPluginHandler2_GetItemData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginHandler2_GetItemText_Proxy( 
    IGoogleDesktopDisplayPluginHandler2 * This,
    /* [in] */ IUnknown *item,
    /* [retval][out] */ BSTR *message);


void __RPC_STUB IGoogleDesktopDisplayPluginHandler2_GetItemText_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginHandler2_OnReceiveTalkMessage_Proxy( 
    IGoogleDesktopDisplayPluginHandler2 * This,
    /* [in] */ IDispatch *talk_friend,
    /* [in] */ BSTR data);


void __RPC_STUB IGoogleDesktopDisplayPluginHandler2_OnReceiveTalkMessage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginHandler2_OnDisplayTargetChange_Proxy( 
    IGoogleDesktopDisplayPluginHandler2 * This,
    /* [in] */ GoogleDesktopDisplayTarget display_target);


void __RPC_STUB IGoogleDesktopDisplayPluginHandler2_OnDisplayTargetChange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopDisplayPluginHandler2_INTERFACE_DEFINED__ */


#ifndef __IGoogleDesktopDisplayPlugin_INTERFACE_DEFINED__
#define __IGoogleDesktopDisplayPlugin_INTERFACE_DEFINED__

/* interface IGoogleDesktopDisplayPlugin */
/* [object][uuid] */ 


EXTERN_C const IID IID_IGoogleDesktopDisplayPlugin;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("AF3B7E72-2886-40f7-AB5A-0AF1CF68243D")
    IGoogleDesktopDisplayPlugin : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE OnCommand( 
            /* [in] */ GoogleDesktopDisplayPluginCommand command) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OnDisplayStateChange( 
            /* [in] */ GoogleDesktopDisplayTileDisplayState display_state) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetInfo( 
            /* [out][in] */ GoogleDesktopDisplayTileInfo *tile_info) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopDisplayPluginVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopDisplayPlugin * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopDisplayPlugin * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopDisplayPlugin * This);
        
        HRESULT ( STDMETHODCALLTYPE *OnCommand )( 
            IGoogleDesktopDisplayPlugin * This,
            /* [in] */ GoogleDesktopDisplayPluginCommand command);
        
        HRESULT ( STDMETHODCALLTYPE *OnDisplayStateChange )( 
            IGoogleDesktopDisplayPlugin * This,
            /* [in] */ GoogleDesktopDisplayTileDisplayState display_state);
        
        HRESULT ( STDMETHODCALLTYPE *GetInfo )( 
            IGoogleDesktopDisplayPlugin * This,
            /* [out][in] */ GoogleDesktopDisplayTileInfo *tile_info);
        
        END_INTERFACE
    } IGoogleDesktopDisplayPluginVtbl;

    interface IGoogleDesktopDisplayPlugin
    {
        CONST_VTBL struct IGoogleDesktopDisplayPluginVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopDisplayPlugin_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopDisplayPlugin_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopDisplayPlugin_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopDisplayPlugin_OnCommand(This,command)	\
    (This)->lpVtbl -> OnCommand(This,command)

#define IGoogleDesktopDisplayPlugin_OnDisplayStateChange(This,display_state)	\
    (This)->lpVtbl -> OnDisplayStateChange(This,display_state)

#define IGoogleDesktopDisplayPlugin_GetInfo(This,tile_info)	\
    (This)->lpVtbl -> GetInfo(This,tile_info)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPlugin_OnCommand_Proxy( 
    IGoogleDesktopDisplayPlugin * This,
    /* [in] */ GoogleDesktopDisplayPluginCommand command);


void __RPC_STUB IGoogleDesktopDisplayPlugin_OnCommand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPlugin_OnDisplayStateChange_Proxy( 
    IGoogleDesktopDisplayPlugin * This,
    /* [in] */ GoogleDesktopDisplayTileDisplayState display_state);


void __RPC_STUB IGoogleDesktopDisplayPlugin_OnDisplayStateChange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPlugin_GetInfo_Proxy( 
    IGoogleDesktopDisplayPlugin * This,
    /* [out][in] */ GoogleDesktopDisplayTileInfo *tile_info);


void __RPC_STUB IGoogleDesktopDisplayPlugin_GetInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopDisplayPlugin_INTERFACE_DEFINED__ */


#ifndef __IGoogleDesktopDisplayPlugin2_INTERFACE_DEFINED__
#define __IGoogleDesktopDisplayPlugin2_INTERFACE_DEFINED__

/* interface IGoogleDesktopDisplayPlugin2 */
/* [object][uuid] */ 


EXTERN_C const IID IID_IGoogleDesktopDisplayPlugin2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("38A1833C-175B-4FCE-A513-EC9B8A72336D")
    IGoogleDesktopDisplayPlugin2 : public IGoogleDesktopDisplayPlugin
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE OnDisplayTargetChange( 
            /* [in] */ GoogleDesktopDisplayTarget display_target) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopDisplayPlugin2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopDisplayPlugin2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopDisplayPlugin2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopDisplayPlugin2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *OnCommand )( 
            IGoogleDesktopDisplayPlugin2 * This,
            /* [in] */ GoogleDesktopDisplayPluginCommand command);
        
        HRESULT ( STDMETHODCALLTYPE *OnDisplayStateChange )( 
            IGoogleDesktopDisplayPlugin2 * This,
            /* [in] */ GoogleDesktopDisplayTileDisplayState display_state);
        
        HRESULT ( STDMETHODCALLTYPE *GetInfo )( 
            IGoogleDesktopDisplayPlugin2 * This,
            /* [out][in] */ GoogleDesktopDisplayTileInfo *tile_info);
        
        HRESULT ( STDMETHODCALLTYPE *OnDisplayTargetChange )( 
            IGoogleDesktopDisplayPlugin2 * This,
            /* [in] */ GoogleDesktopDisplayTarget display_target);
        
        END_INTERFACE
    } IGoogleDesktopDisplayPlugin2Vtbl;

    interface IGoogleDesktopDisplayPlugin2
    {
        CONST_VTBL struct IGoogleDesktopDisplayPlugin2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopDisplayPlugin2_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopDisplayPlugin2_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopDisplayPlugin2_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopDisplayPlugin2_OnCommand(This,command)	\
    (This)->lpVtbl -> OnCommand(This,command)

#define IGoogleDesktopDisplayPlugin2_OnDisplayStateChange(This,display_state)	\
    (This)->lpVtbl -> OnDisplayStateChange(This,display_state)

#define IGoogleDesktopDisplayPlugin2_GetInfo(This,tile_info)	\
    (This)->lpVtbl -> GetInfo(This,tile_info)


#define IGoogleDesktopDisplayPlugin2_OnDisplayTargetChange(This,display_target)	\
    (This)->lpVtbl -> OnDisplayTargetChange(This,display_target)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPlugin2_OnDisplayTargetChange_Proxy( 
    IGoogleDesktopDisplayPlugin2 * This,
    /* [in] */ GoogleDesktopDisplayTarget display_target);


void __RPC_STUB IGoogleDesktopDisplayPlugin2_OnDisplayTargetChange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopDisplayPlugin2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_GoogleDesktopDisplayAPI_0265 */
/* [local] */ 


enum __MIDL___MIDL_itf_GoogleDesktopDisplayAPI_0265_0001
    {	DISPID_GDD_CIHND_DRAWITEM	= DISPID_GDD_CIHND_START,
	DISPID_GDD_CIHND_GETHEIGHT	= DISPID_GDD_CIHND_DRAWITEM + 1,
	DISPID_GDD_CIHND_OPENITEM	= DISPID_GDD_CIHND_GETHEIGHT + 1,
	DISPID_GDD_CIHND_TOGGLEPINNEDSTATE	= DISPID_GDD_CIHND_OPENITEM + 1,
	DISPID_GDD_CIHND_GETISTOOLTIPREQUIRED	= DISPID_GDD_CIHND_TOGGLEPINNEDSTATE + 1,
	DISPID_GDD_CIHND_ONDETAILSVIEW	= DISPID_GDD_CIHND_GETISTOOLTIPREQUIRED + 1,
	DISPID_GDD_CIHND_PROCESSDETAILSVIEWFEEDBACK	= DISPID_GDD_CIHND_ONDETAILSVIEW + 1,
	DISPID_GDD_CIHND_ONREMOVEITEM	= DISPID_GDD_CIHND_PROCESSDETAILSVIEWFEEDBACK + 1
    } ;


extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0265_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0265_v0_0_s_ifspec;

#ifndef __IGoogleDesktopDisplayContentItemHandler_INTERFACE_DEFINED__
#define __IGoogleDesktopDisplayContentItemHandler_INTERFACE_DEFINED__

/* interface IGoogleDesktopDisplayContentItemHandler */
/* [unique][dual][uuid][object] */ 


EXTERN_C const IID IID_IGoogleDesktopDisplayContentItemHandler;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2BF1B7EE-DC5C-4f05-8DFA-273D6C199567")
    IGoogleDesktopDisplayContentItemHandler : public IUnknown
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE DrawItem( 
            /* [in] */ GoogleDesktopDisplayTarget target,
            /* [in] */ HDC dc,
            /* [in] */ const RECT *bounds) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetHeight( 
            /* [in] */ GoogleDesktopDisplayTarget display_target,
            /* [in] */ HDC dc,
            /* [in] */ long width,
            /* [retval][out] */ long *height) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE OpenItem( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ToggleItemPinnedState( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetIsTooltipRequired( 
            /* [in] */ GoogleDesktopDisplayTarget target,
            /* [in] */ HDC dc,
            /* [in] */ const RECT *bounds,
            /* [out] */ VARIANT_BOOL *is_required) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE OnDetailsView( 
            /* [out] */ BSTR *title,
            /* [out] */ GoogleDesktopDisplayDetailsViewFlags *flags,
            /* [out] */ IUnknown **details_control,
            /* [retval][out] */ VARIANT_BOOL *cancel) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ProcessDetailsViewFeedback( 
            /* [in] */ GoogleDesktopDisplayDetailsViewFlags flags) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE OnRemoveItem( 
            /* [retval][out] */ VARIANT_BOOL *cancel) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopDisplayContentItemHandlerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopDisplayContentItemHandler * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopDisplayContentItemHandler * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopDisplayContentItemHandler * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *DrawItem )( 
            IGoogleDesktopDisplayContentItemHandler * This,
            /* [in] */ GoogleDesktopDisplayTarget target,
            /* [in] */ HDC dc,
            /* [in] */ const RECT *bounds);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetHeight )( 
            IGoogleDesktopDisplayContentItemHandler * This,
            /* [in] */ GoogleDesktopDisplayTarget display_target,
            /* [in] */ HDC dc,
            /* [in] */ long width,
            /* [retval][out] */ long *height);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *OpenItem )( 
            IGoogleDesktopDisplayContentItemHandler * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ToggleItemPinnedState )( 
            IGoogleDesktopDisplayContentItemHandler * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetIsTooltipRequired )( 
            IGoogleDesktopDisplayContentItemHandler * This,
            /* [in] */ GoogleDesktopDisplayTarget target,
            /* [in] */ HDC dc,
            /* [in] */ const RECT *bounds,
            /* [out] */ VARIANT_BOOL *is_required);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *OnDetailsView )( 
            IGoogleDesktopDisplayContentItemHandler * This,
            /* [out] */ BSTR *title,
            /* [out] */ GoogleDesktopDisplayDetailsViewFlags *flags,
            /* [out] */ IUnknown **details_control,
            /* [retval][out] */ VARIANT_BOOL *cancel);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ProcessDetailsViewFeedback )( 
            IGoogleDesktopDisplayContentItemHandler * This,
            /* [in] */ GoogleDesktopDisplayDetailsViewFlags flags);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *OnRemoveItem )( 
            IGoogleDesktopDisplayContentItemHandler * This,
            /* [retval][out] */ VARIANT_BOOL *cancel);
        
        END_INTERFACE
    } IGoogleDesktopDisplayContentItemHandlerVtbl;

    interface IGoogleDesktopDisplayContentItemHandler
    {
        CONST_VTBL struct IGoogleDesktopDisplayContentItemHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopDisplayContentItemHandler_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopDisplayContentItemHandler_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopDisplayContentItemHandler_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopDisplayContentItemHandler_DrawItem(This,target,dc,bounds)	\
    (This)->lpVtbl -> DrawItem(This,target,dc,bounds)

#define IGoogleDesktopDisplayContentItemHandler_GetHeight(This,display_target,dc,width,height)	\
    (This)->lpVtbl -> GetHeight(This,display_target,dc,width,height)

#define IGoogleDesktopDisplayContentItemHandler_OpenItem(This)	\
    (This)->lpVtbl -> OpenItem(This)

#define IGoogleDesktopDisplayContentItemHandler_ToggleItemPinnedState(This)	\
    (This)->lpVtbl -> ToggleItemPinnedState(This)

#define IGoogleDesktopDisplayContentItemHandler_GetIsTooltipRequired(This,target,dc,bounds,is_required)	\
    (This)->lpVtbl -> GetIsTooltipRequired(This,target,dc,bounds,is_required)

#define IGoogleDesktopDisplayContentItemHandler_OnDetailsView(This,title,flags,details_control,cancel)	\
    (This)->lpVtbl -> OnDetailsView(This,title,flags,details_control,cancel)

#define IGoogleDesktopDisplayContentItemHandler_ProcessDetailsViewFeedback(This,flags)	\
    (This)->lpVtbl -> ProcessDetailsViewFeedback(This,flags)

#define IGoogleDesktopDisplayContentItemHandler_OnRemoveItem(This,cancel)	\
    (This)->lpVtbl -> OnRemoveItem(This,cancel)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHandler_DrawItem_Proxy( 
    IGoogleDesktopDisplayContentItemHandler * This,
    /* [in] */ GoogleDesktopDisplayTarget target,
    /* [in] */ HDC dc,
    /* [in] */ const RECT *bounds);


void __RPC_STUB IGoogleDesktopDisplayContentItemHandler_DrawItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHandler_GetHeight_Proxy( 
    IGoogleDesktopDisplayContentItemHandler * This,
    /* [in] */ GoogleDesktopDisplayTarget display_target,
    /* [in] */ HDC dc,
    /* [in] */ long width,
    /* [retval][out] */ long *height);


void __RPC_STUB IGoogleDesktopDisplayContentItemHandler_GetHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHandler_OpenItem_Proxy( 
    IGoogleDesktopDisplayContentItemHandler * This);


void __RPC_STUB IGoogleDesktopDisplayContentItemHandler_OpenItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHandler_ToggleItemPinnedState_Proxy( 
    IGoogleDesktopDisplayContentItemHandler * This);


void __RPC_STUB IGoogleDesktopDisplayContentItemHandler_ToggleItemPinnedState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHandler_GetIsTooltipRequired_Proxy( 
    IGoogleDesktopDisplayContentItemHandler * This,
    /* [in] */ GoogleDesktopDisplayTarget target,
    /* [in] */ HDC dc,
    /* [in] */ const RECT *bounds,
    /* [out] */ VARIANT_BOOL *is_required);


void __RPC_STUB IGoogleDesktopDisplayContentItemHandler_GetIsTooltipRequired_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHandler_OnDetailsView_Proxy( 
    IGoogleDesktopDisplayContentItemHandler * This,
    /* [out] */ BSTR *title,
    /* [out] */ GoogleDesktopDisplayDetailsViewFlags *flags,
    /* [out] */ IUnknown **details_control,
    /* [retval][out] */ VARIANT_BOOL *cancel);


void __RPC_STUB IGoogleDesktopDisplayContentItemHandler_OnDetailsView_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHandler_ProcessDetailsViewFeedback_Proxy( 
    IGoogleDesktopDisplayContentItemHandler * This,
    /* [in] */ GoogleDesktopDisplayDetailsViewFlags flags);


void __RPC_STUB IGoogleDesktopDisplayContentItemHandler_ProcessDetailsViewFeedback_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHandler_OnRemoveItem_Proxy( 
    IGoogleDesktopDisplayContentItemHandler * This,
    /* [retval][out] */ VARIANT_BOOL *cancel);


void __RPC_STUB IGoogleDesktopDisplayContentItemHandler_OnRemoveItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopDisplayContentItemHandler_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_GoogleDesktopDisplayAPI_0266 */
/* [local] */ 


enum __MIDL___MIDL_itf_GoogleDesktopDisplayAPI_0266_0001
    {	DISPID_GDD_CI_FLAGS	= DISPID_GDD_CI_START,
	DISPID_GDD_CI_TOOLTIP	= DISPID_GDD_CI_FLAGS + 1,
	DISPID_GDD_CI_DRAWITEM	= DISPID_GDD_CI_TOOLTIP + 1,
	DISPID_GDD_CI_GETHEIGHT	= DISPID_GDD_CI_DRAWITEM + 1,
	DISPID_GDD_CI_OPENITEM	= DISPID_GDD_CI_GETHEIGHT + 1,
	DISPID_GDD_CI_TOGGLEPINNEDSTATE	= DISPID_GDD_CI_OPENITEM + 1,
	DISPID_GDD_CI_GETISTOOLTIPREQUIRED	= DISPID_GDD_CI_TOGGLEPINNEDSTATE + 1,
	DISPID_GDD_CI_ONDETAILSVIEW	= DISPID_GDD_CI_GETISTOOLTIPREQUIRED + 1,
	DISPID_GDD_CI_PROCESSDETAILSVIEWFEEDBACK	= DISPID_GDD_CI_ONDETAILSVIEW + 1,
	DISPID_GDD_CI_ONREMOVEITEM	= DISPID_GDD_CI_PROCESSDETAILSVIEWFEEDBACK + 1,
	DISPID_GDD_CI_GETRECT	= DISPID_GDD_CI_ONREMOVEITEM + 1,
	DISPID_GDD_CI_SENT_TO_NAME	= DISPID_GDD_CI_GETRECT + 1
    } ;


extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0266_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0266_v0_0_s_ifspec;

#ifndef __IGoogleDesktopDisplayContentItem_INTERFACE_DEFINED__
#define __IGoogleDesktopDisplayContentItem_INTERFACE_DEFINED__

/* interface IGoogleDesktopDisplayContentItem */
/* [unique][dual][uuid][object] */ 


EXTERN_C const IID IID_IGoogleDesktopDisplayContentItem;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0F561F9B-1706-43DE-A9BB-4DC5D047A100")
    IGoogleDesktopDisplayContentItem : public IUnknown
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE DrawItem( 
            /* [in] */ GoogleDesktopDisplayTarget target,
            /* [in] */ HDC dc,
            /* [in] */ const RECT *bounds) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetHeight( 
            /* [in] */ GoogleDesktopDisplayTarget display_target,
            /* [in] */ HDC dc,
            /* [in] */ long width,
            /* [retval][out] */ long *height) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE OpenItem( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ToggleItemPinnedState( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetIsTooltipRequired( 
            /* [in] */ GoogleDesktopDisplayTarget target,
            /* [in] */ HDC dc,
            /* [in] */ const RECT *bounds,
            /* [out] */ VARIANT_BOOL *is_required) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE OnDetailsView( 
            /* [out] */ BSTR *title,
            /* [out] */ GoogleDesktopDisplayDetailsViewFlags *flags,
            /* [out] */ IUnknown **details_control,
            /* [retval][out] */ VARIANT_BOOL *cancel) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ProcessDetailsViewFeedback( 
            /* [in] */ GoogleDesktopDisplayDetailsViewFlags flags) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE OnRemoveItem( 
            /* [retval][out] */ VARIANT_BOOL *cancel) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_flags( 
            /* [retval][out] */ GoogleDesktopDisplayContentItemFlags *flags) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_tooltip( 
            /* [retval][out] */ BSTR *tooltip) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopDisplayContentItemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopDisplayContentItem * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopDisplayContentItem * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopDisplayContentItem * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *DrawItem )( 
            IGoogleDesktopDisplayContentItem * This,
            /* [in] */ GoogleDesktopDisplayTarget target,
            /* [in] */ HDC dc,
            /* [in] */ const RECT *bounds);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetHeight )( 
            IGoogleDesktopDisplayContentItem * This,
            /* [in] */ GoogleDesktopDisplayTarget display_target,
            /* [in] */ HDC dc,
            /* [in] */ long width,
            /* [retval][out] */ long *height);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *OpenItem )( 
            IGoogleDesktopDisplayContentItem * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ToggleItemPinnedState )( 
            IGoogleDesktopDisplayContentItem * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetIsTooltipRequired )( 
            IGoogleDesktopDisplayContentItem * This,
            /* [in] */ GoogleDesktopDisplayTarget target,
            /* [in] */ HDC dc,
            /* [in] */ const RECT *bounds,
            /* [out] */ VARIANT_BOOL *is_required);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *OnDetailsView )( 
            IGoogleDesktopDisplayContentItem * This,
            /* [out] */ BSTR *title,
            /* [out] */ GoogleDesktopDisplayDetailsViewFlags *flags,
            /* [out] */ IUnknown **details_control,
            /* [retval][out] */ VARIANT_BOOL *cancel);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ProcessDetailsViewFeedback )( 
            IGoogleDesktopDisplayContentItem * This,
            /* [in] */ GoogleDesktopDisplayDetailsViewFlags flags);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *OnRemoveItem )( 
            IGoogleDesktopDisplayContentItem * This,
            /* [retval][out] */ VARIANT_BOOL *cancel);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_flags )( 
            IGoogleDesktopDisplayContentItem * This,
            /* [retval][out] */ GoogleDesktopDisplayContentItemFlags *flags);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_tooltip )( 
            IGoogleDesktopDisplayContentItem * This,
            /* [retval][out] */ BSTR *tooltip);
        
        END_INTERFACE
    } IGoogleDesktopDisplayContentItemVtbl;

    interface IGoogleDesktopDisplayContentItem
    {
        CONST_VTBL struct IGoogleDesktopDisplayContentItemVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopDisplayContentItem_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopDisplayContentItem_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopDisplayContentItem_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopDisplayContentItem_DrawItem(This,target,dc,bounds)	\
    (This)->lpVtbl -> DrawItem(This,target,dc,bounds)

#define IGoogleDesktopDisplayContentItem_GetHeight(This,display_target,dc,width,height)	\
    (This)->lpVtbl -> GetHeight(This,display_target,dc,width,height)

#define IGoogleDesktopDisplayContentItem_OpenItem(This)	\
    (This)->lpVtbl -> OpenItem(This)

#define IGoogleDesktopDisplayContentItem_ToggleItemPinnedState(This)	\
    (This)->lpVtbl -> ToggleItemPinnedState(This)

#define IGoogleDesktopDisplayContentItem_GetIsTooltipRequired(This,target,dc,bounds,is_required)	\
    (This)->lpVtbl -> GetIsTooltipRequired(This,target,dc,bounds,is_required)

#define IGoogleDesktopDisplayContentItem_OnDetailsView(This,title,flags,details_control,cancel)	\
    (This)->lpVtbl -> OnDetailsView(This,title,flags,details_control,cancel)

#define IGoogleDesktopDisplayContentItem_ProcessDetailsViewFeedback(This,flags)	\
    (This)->lpVtbl -> ProcessDetailsViewFeedback(This,flags)

#define IGoogleDesktopDisplayContentItem_OnRemoveItem(This,cancel)	\
    (This)->lpVtbl -> OnRemoveItem(This,cancel)

#define IGoogleDesktopDisplayContentItem_get_flags(This,flags)	\
    (This)->lpVtbl -> get_flags(This,flags)

#define IGoogleDesktopDisplayContentItem_get_tooltip(This,tooltip)	\
    (This)->lpVtbl -> get_tooltip(This,tooltip)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItem_DrawItem_Proxy( 
    IGoogleDesktopDisplayContentItem * This,
    /* [in] */ GoogleDesktopDisplayTarget target,
    /* [in] */ HDC dc,
    /* [in] */ const RECT *bounds);


void __RPC_STUB IGoogleDesktopDisplayContentItem_DrawItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItem_GetHeight_Proxy( 
    IGoogleDesktopDisplayContentItem * This,
    /* [in] */ GoogleDesktopDisplayTarget display_target,
    /* [in] */ HDC dc,
    /* [in] */ long width,
    /* [retval][out] */ long *height);


void __RPC_STUB IGoogleDesktopDisplayContentItem_GetHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItem_OpenItem_Proxy( 
    IGoogleDesktopDisplayContentItem * This);


void __RPC_STUB IGoogleDesktopDisplayContentItem_OpenItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItem_ToggleItemPinnedState_Proxy( 
    IGoogleDesktopDisplayContentItem * This);


void __RPC_STUB IGoogleDesktopDisplayContentItem_ToggleItemPinnedState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItem_GetIsTooltipRequired_Proxy( 
    IGoogleDesktopDisplayContentItem * This,
    /* [in] */ GoogleDesktopDisplayTarget target,
    /* [in] */ HDC dc,
    /* [in] */ const RECT *bounds,
    /* [out] */ VARIANT_BOOL *is_required);


void __RPC_STUB IGoogleDesktopDisplayContentItem_GetIsTooltipRequired_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItem_OnDetailsView_Proxy( 
    IGoogleDesktopDisplayContentItem * This,
    /* [out] */ BSTR *title,
    /* [out] */ GoogleDesktopDisplayDetailsViewFlags *flags,
    /* [out] */ IUnknown **details_control,
    /* [retval][out] */ VARIANT_BOOL *cancel);


void __RPC_STUB IGoogleDesktopDisplayContentItem_OnDetailsView_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItem_ProcessDetailsViewFeedback_Proxy( 
    IGoogleDesktopDisplayContentItem * This,
    /* [in] */ GoogleDesktopDisplayDetailsViewFlags flags);


void __RPC_STUB IGoogleDesktopDisplayContentItem_ProcessDetailsViewFeedback_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItem_OnRemoveItem_Proxy( 
    IGoogleDesktopDisplayContentItem * This,
    /* [retval][out] */ VARIANT_BOOL *cancel);


void __RPC_STUB IGoogleDesktopDisplayContentItem_OnRemoveItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItem_get_flags_Proxy( 
    IGoogleDesktopDisplayContentItem * This,
    /* [retval][out] */ GoogleDesktopDisplayContentItemFlags *flags);


void __RPC_STUB IGoogleDesktopDisplayContentItem_get_flags_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItem_get_tooltip_Proxy( 
    IGoogleDesktopDisplayContentItem * This,
    /* [retval][out] */ BSTR *tooltip);


void __RPC_STUB IGoogleDesktopDisplayContentItem_get_tooltip_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopDisplayContentItem_INTERFACE_DEFINED__ */


#ifndef __IGoogleDesktopDisplayContentItem2_INTERFACE_DEFINED__
#define __IGoogleDesktopDisplayContentItem2_INTERFACE_DEFINED__

/* interface IGoogleDesktopDisplayContentItem2 */
/* [unique][dual][uuid][object] */ 


EXTERN_C const IID IID_IGoogleDesktopDisplayContentItem2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E2B5762A-4C8B-4d3d-B448-F74B11D86E7C")
    IGoogleDesktopDisplayContentItem2 : public IGoogleDesktopDisplayContentItem
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetRect( 
            /* [out] */ long *x,
            /* [out] */ long *y,
            /* [out] */ long *width,
            /* [out] */ long *height) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_sent_to_name( 
            /* [retval][out] */ BSTR *sent_to_name) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_sent_to_name( 
            /* [in] */ BSTR sent_to_name) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopDisplayContentItem2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopDisplayContentItem2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopDisplayContentItem2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopDisplayContentItem2 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *DrawItem )( 
            IGoogleDesktopDisplayContentItem2 * This,
            /* [in] */ GoogleDesktopDisplayTarget target,
            /* [in] */ HDC dc,
            /* [in] */ const RECT *bounds);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetHeight )( 
            IGoogleDesktopDisplayContentItem2 * This,
            /* [in] */ GoogleDesktopDisplayTarget display_target,
            /* [in] */ HDC dc,
            /* [in] */ long width,
            /* [retval][out] */ long *height);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *OpenItem )( 
            IGoogleDesktopDisplayContentItem2 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ToggleItemPinnedState )( 
            IGoogleDesktopDisplayContentItem2 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetIsTooltipRequired )( 
            IGoogleDesktopDisplayContentItem2 * This,
            /* [in] */ GoogleDesktopDisplayTarget target,
            /* [in] */ HDC dc,
            /* [in] */ const RECT *bounds,
            /* [out] */ VARIANT_BOOL *is_required);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *OnDetailsView )( 
            IGoogleDesktopDisplayContentItem2 * This,
            /* [out] */ BSTR *title,
            /* [out] */ GoogleDesktopDisplayDetailsViewFlags *flags,
            /* [out] */ IUnknown **details_control,
            /* [retval][out] */ VARIANT_BOOL *cancel);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ProcessDetailsViewFeedback )( 
            IGoogleDesktopDisplayContentItem2 * This,
            /* [in] */ GoogleDesktopDisplayDetailsViewFlags flags);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *OnRemoveItem )( 
            IGoogleDesktopDisplayContentItem2 * This,
            /* [retval][out] */ VARIANT_BOOL *cancel);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_flags )( 
            IGoogleDesktopDisplayContentItem2 * This,
            /* [retval][out] */ GoogleDesktopDisplayContentItemFlags *flags);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_tooltip )( 
            IGoogleDesktopDisplayContentItem2 * This,
            /* [retval][out] */ BSTR *tooltip);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetRect )( 
            IGoogleDesktopDisplayContentItem2 * This,
            /* [out] */ long *x,
            /* [out] */ long *y,
            /* [out] */ long *width,
            /* [out] */ long *height);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sent_to_name )( 
            IGoogleDesktopDisplayContentItem2 * This,
            /* [retval][out] */ BSTR *sent_to_name);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_sent_to_name )( 
            IGoogleDesktopDisplayContentItem2 * This,
            /* [in] */ BSTR sent_to_name);
        
        END_INTERFACE
    } IGoogleDesktopDisplayContentItem2Vtbl;

    interface IGoogleDesktopDisplayContentItem2
    {
        CONST_VTBL struct IGoogleDesktopDisplayContentItem2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopDisplayContentItem2_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopDisplayContentItem2_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopDisplayContentItem2_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopDisplayContentItem2_DrawItem(This,target,dc,bounds)	\
    (This)->lpVtbl -> DrawItem(This,target,dc,bounds)

#define IGoogleDesktopDisplayContentItem2_GetHeight(This,display_target,dc,width,height)	\
    (This)->lpVtbl -> GetHeight(This,display_target,dc,width,height)

#define IGoogleDesktopDisplayContentItem2_OpenItem(This)	\
    (This)->lpVtbl -> OpenItem(This)

#define IGoogleDesktopDisplayContentItem2_ToggleItemPinnedState(This)	\
    (This)->lpVtbl -> ToggleItemPinnedState(This)

#define IGoogleDesktopDisplayContentItem2_GetIsTooltipRequired(This,target,dc,bounds,is_required)	\
    (This)->lpVtbl -> GetIsTooltipRequired(This,target,dc,bounds,is_required)

#define IGoogleDesktopDisplayContentItem2_OnDetailsView(This,title,flags,details_control,cancel)	\
    (This)->lpVtbl -> OnDetailsView(This,title,flags,details_control,cancel)

#define IGoogleDesktopDisplayContentItem2_ProcessDetailsViewFeedback(This,flags)	\
    (This)->lpVtbl -> ProcessDetailsViewFeedback(This,flags)

#define IGoogleDesktopDisplayContentItem2_OnRemoveItem(This,cancel)	\
    (This)->lpVtbl -> OnRemoveItem(This,cancel)

#define IGoogleDesktopDisplayContentItem2_get_flags(This,flags)	\
    (This)->lpVtbl -> get_flags(This,flags)

#define IGoogleDesktopDisplayContentItem2_get_tooltip(This,tooltip)	\
    (This)->lpVtbl -> get_tooltip(This,tooltip)


#define IGoogleDesktopDisplayContentItem2_GetRect(This,x,y,width,height)	\
    (This)->lpVtbl -> GetRect(This,x,y,width,height)

#define IGoogleDesktopDisplayContentItem2_get_sent_to_name(This,sent_to_name)	\
    (This)->lpVtbl -> get_sent_to_name(This,sent_to_name)

#define IGoogleDesktopDisplayContentItem2_put_sent_to_name(This,sent_to_name)	\
    (This)->lpVtbl -> put_sent_to_name(This,sent_to_name)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItem2_GetRect_Proxy( 
    IGoogleDesktopDisplayContentItem2 * This,
    /* [out] */ long *x,
    /* [out] */ long *y,
    /* [out] */ long *width,
    /* [out] */ long *height);


void __RPC_STUB IGoogleDesktopDisplayContentItem2_GetRect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItem2_get_sent_to_name_Proxy( 
    IGoogleDesktopDisplayContentItem2 * This,
    /* [retval][out] */ BSTR *sent_to_name);


void __RPC_STUB IGoogleDesktopDisplayContentItem2_get_sent_to_name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItem2_put_sent_to_name_Proxy( 
    IGoogleDesktopDisplayContentItem2 * This,
    /* [in] */ BSTR sent_to_name);


void __RPC_STUB IGoogleDesktopDisplayContentItem2_put_sent_to_name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopDisplayContentItem2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_GoogleDesktopDisplayAPI_0268 */
/* [local] */ 


enum __MIDL___MIDL_itf_GoogleDesktopDisplayAPI_0268_0001
    {	DISPID_GDD_CIHLP_HEADING	= DISPID_GDD_CIHLP_START,
	DISPID_GDD_CIHLP_SOURCE	= DISPID_GDD_CIHLP_HEADING + 1,
	DISPID_GDD_CIHLP_SNIPPET	= DISPID_GDD_CIHLP_SOURCE + 1,
	DISPID_GDD_CIHLP_IMAGE	= DISPID_GDD_CIHLP_SNIPPET + 1,
	DISPID_GDD_CIHLP_TIME_CREATED	= DISPID_GDD_CIHLP_IMAGE + 1,
	DISPID_GDD_CIHLP_LAYOUT	= DISPID_GDD_CIHLP_TIME_CREATED + 1,
	DISPID_GDD_CIHLP_FLAGS	= DISPID_GDD_CIHLP_LAYOUT + 1,
	DISPID_GDD_CIHLP_TOOLTIP	= DISPID_GDD_CIHLP_FLAGS + 1,
	DISPID_GDD_CIHLP_OPEN_COMMAND	= DISPID_GDD_CIHLP_TOOLTIP + 1,
	DISPID_GDD_CIHLP_NOTIFIER_IMAGE	= DISPID_GDD_CIHLP_OPEN_COMMAND + 1,
	DISPID_GDD_CIHLP_EDIT_ITEM	= DISPID_GDD_CIHLP_NOTIFIER_IMAGE + 1,
	DISPID_GDD_CIHLP_ON_DRAWITEM	= DISPID_GDD_CIHLP_EDIT_ITEM + 1,
	DISPID_GDD_CIHLP_ON_GETHEIGHT	= DISPID_GDD_CIHLP_ON_DRAWITEM + 1,
	DISPID_GDD_CIHLP_ON_OPENITEM	= DISPID_GDD_CIHLP_ON_GETHEIGHT + 1,
	DISPID_GDD_CIHLP_ON_TOGGLEPINNEDSTATE	= DISPID_GDD_CIHLP_ON_OPENITEM + 1,
	DISPID_GDD_CIHLP_ON_GETISTOOLTIPREQUIRED	= DISPID_GDD_CIHLP_ON_TOGGLEPINNEDSTATE + 1,
	DISPID_GDD_CIHLP_ON_DETAILSVIEW	= DISPID_GDD_CIHLP_ON_GETISTOOLTIPREQUIRED + 1,
	DISPID_GDD_CIHLP_ON_PROCESSDETAILSVIEWFEEDBACK	= DISPID_GDD_CIHLP_ON_DETAILSVIEW + 1,
	DISPID_GDD_CIHLP_ON_REMOVEITEM	= DISPID_GDD_CIHLP_ON_PROCESSDETAILSVIEWFEEDBACK + 1,
	DISPID_GDD_CIHLP_SETRECT	= DISPID_GDD_CIHLP_ON_REMOVEITEM + 1,
	DISPID_GDD_CIHLP_FRIEND_NAME	= DISPID_GDD_CIHLP_SETRECT + 1,
	DISPID_GDD_CIHLP_ITEM_RECEIVED_TIME	= DISPID_GDD_CIHLP_FRIEND_NAME + 1
    } ;


extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0268_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0268_v0_0_s_ifspec;

#ifndef __IGoogleDesktopDisplayContentItemHelper_INTERFACE_DEFINED__
#define __IGoogleDesktopDisplayContentItemHelper_INTERFACE_DEFINED__

/* interface IGoogleDesktopDisplayContentItemHelper */
/* [unique][dual][uuid][object] */ 


EXTERN_C const IID IID_IGoogleDesktopDisplayContentItemHelper;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("666677EB-2C7A-4393-ABB1-A5994E8D09CB")
    IGoogleDesktopDisplayContentItemHelper : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_image( 
            /* [in] */ IPicture *image) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_image( 
            /* [retval][out] */ IPicture **image) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_notifier_image( 
            /* [in] */ IPicture *image) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_notifier_image( 
            /* [retval][out] */ IPicture **image) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_time_created( 
            /* [in] */ DATE time_created) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_time_created( 
            /* [retval][out] */ DATE *time_created) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_heading( 
            /* [in] */ BSTR heading) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_heading( 
            /* [retval][out] */ BSTR *heading) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_source( 
            /* [in] */ BSTR source) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_source( 
            /* [retval][out] */ BSTR *source) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_snippet( 
            /* [in] */ BSTR snippet) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_snippet( 
            /* [retval][out] */ BSTR *snippet) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_open_command( 
            /* [in] */ VARIANT open_command) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_open_command( 
            /* [retval][out] */ VARIANT *open_command) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_layout( 
            /* [in] */ GoogleDesktopDisplayContentItemLayout layout) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_layout( 
            /* [retval][out] */ GoogleDesktopDisplayContentItemLayout *layout) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_flags( 
            /* [in] */ GoogleDesktopDisplayContentItemFlags flags) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_tooltip( 
            /* [in] */ BSTR tooltip) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopDisplayContentItemHelperVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopDisplayContentItemHelper * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopDisplayContentItemHelper * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopDisplayContentItemHelper * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGoogleDesktopDisplayContentItemHelper * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGoogleDesktopDisplayContentItemHelper * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGoogleDesktopDisplayContentItemHelper * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGoogleDesktopDisplayContentItemHelper * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_image )( 
            IGoogleDesktopDisplayContentItemHelper * This,
            /* [in] */ IPicture *image);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_image )( 
            IGoogleDesktopDisplayContentItemHelper * This,
            /* [retval][out] */ IPicture **image);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_notifier_image )( 
            IGoogleDesktopDisplayContentItemHelper * This,
            /* [in] */ IPicture *image);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_notifier_image )( 
            IGoogleDesktopDisplayContentItemHelper * This,
            /* [retval][out] */ IPicture **image);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_time_created )( 
            IGoogleDesktopDisplayContentItemHelper * This,
            /* [in] */ DATE time_created);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_time_created )( 
            IGoogleDesktopDisplayContentItemHelper * This,
            /* [retval][out] */ DATE *time_created);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_heading )( 
            IGoogleDesktopDisplayContentItemHelper * This,
            /* [in] */ BSTR heading);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_heading )( 
            IGoogleDesktopDisplayContentItemHelper * This,
            /* [retval][out] */ BSTR *heading);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_source )( 
            IGoogleDesktopDisplayContentItemHelper * This,
            /* [in] */ BSTR source);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_source )( 
            IGoogleDesktopDisplayContentItemHelper * This,
            /* [retval][out] */ BSTR *source);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_snippet )( 
            IGoogleDesktopDisplayContentItemHelper * This,
            /* [in] */ BSTR snippet);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_snippet )( 
            IGoogleDesktopDisplayContentItemHelper * This,
            /* [retval][out] */ BSTR *snippet);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_open_command )( 
            IGoogleDesktopDisplayContentItemHelper * This,
            /* [in] */ VARIANT open_command);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_open_command )( 
            IGoogleDesktopDisplayContentItemHelper * This,
            /* [retval][out] */ VARIANT *open_command);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_layout )( 
            IGoogleDesktopDisplayContentItemHelper * This,
            /* [in] */ GoogleDesktopDisplayContentItemLayout layout);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_layout )( 
            IGoogleDesktopDisplayContentItemHelper * This,
            /* [retval][out] */ GoogleDesktopDisplayContentItemLayout *layout);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_flags )( 
            IGoogleDesktopDisplayContentItemHelper * This,
            /* [in] */ GoogleDesktopDisplayContentItemFlags flags);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_tooltip )( 
            IGoogleDesktopDisplayContentItemHelper * This,
            /* [in] */ BSTR tooltip);
        
        END_INTERFACE
    } IGoogleDesktopDisplayContentItemHelperVtbl;

    interface IGoogleDesktopDisplayContentItemHelper
    {
        CONST_VTBL struct IGoogleDesktopDisplayContentItemHelperVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopDisplayContentItemHelper_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopDisplayContentItemHelper_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopDisplayContentItemHelper_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopDisplayContentItemHelper_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IGoogleDesktopDisplayContentItemHelper_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IGoogleDesktopDisplayContentItemHelper_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IGoogleDesktopDisplayContentItemHelper_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IGoogleDesktopDisplayContentItemHelper_put_image(This,image)	\
    (This)->lpVtbl -> put_image(This,image)

#define IGoogleDesktopDisplayContentItemHelper_get_image(This,image)	\
    (This)->lpVtbl -> get_image(This,image)

#define IGoogleDesktopDisplayContentItemHelper_put_notifier_image(This,image)	\
    (This)->lpVtbl -> put_notifier_image(This,image)

#define IGoogleDesktopDisplayContentItemHelper_get_notifier_image(This,image)	\
    (This)->lpVtbl -> get_notifier_image(This,image)

#define IGoogleDesktopDisplayContentItemHelper_put_time_created(This,time_created)	\
    (This)->lpVtbl -> put_time_created(This,time_created)

#define IGoogleDesktopDisplayContentItemHelper_get_time_created(This,time_created)	\
    (This)->lpVtbl -> get_time_created(This,time_created)

#define IGoogleDesktopDisplayContentItemHelper_put_heading(This,heading)	\
    (This)->lpVtbl -> put_heading(This,heading)

#define IGoogleDesktopDisplayContentItemHelper_get_heading(This,heading)	\
    (This)->lpVtbl -> get_heading(This,heading)

#define IGoogleDesktopDisplayContentItemHelper_put_source(This,source)	\
    (This)->lpVtbl -> put_source(This,source)

#define IGoogleDesktopDisplayContentItemHelper_get_source(This,source)	\
    (This)->lpVtbl -> get_source(This,source)

#define IGoogleDesktopDisplayContentItemHelper_put_snippet(This,snippet)	\
    (This)->lpVtbl -> put_snippet(This,snippet)

#define IGoogleDesktopDisplayContentItemHelper_get_snippet(This,snippet)	\
    (This)->lpVtbl -> get_snippet(This,snippet)

#define IGoogleDesktopDisplayContentItemHelper_put_open_command(This,open_command)	\
    (This)->lpVtbl -> put_open_command(This,open_command)

#define IGoogleDesktopDisplayContentItemHelper_get_open_command(This,open_command)	\
    (This)->lpVtbl -> get_open_command(This,open_command)

#define IGoogleDesktopDisplayContentItemHelper_put_layout(This,layout)	\
    (This)->lpVtbl -> put_layout(This,layout)

#define IGoogleDesktopDisplayContentItemHelper_get_layout(This,layout)	\
    (This)->lpVtbl -> get_layout(This,layout)

#define IGoogleDesktopDisplayContentItemHelper_put_flags(This,flags)	\
    (This)->lpVtbl -> put_flags(This,flags)

#define IGoogleDesktopDisplayContentItemHelper_put_tooltip(This,tooltip)	\
    (This)->lpVtbl -> put_tooltip(This,tooltip)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper_put_image_Proxy( 
    IGoogleDesktopDisplayContentItemHelper * This,
    /* [in] */ IPicture *image);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper_put_image_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper_get_image_Proxy( 
    IGoogleDesktopDisplayContentItemHelper * This,
    /* [retval][out] */ IPicture **image);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper_get_image_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper_put_notifier_image_Proxy( 
    IGoogleDesktopDisplayContentItemHelper * This,
    /* [in] */ IPicture *image);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper_put_notifier_image_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper_get_notifier_image_Proxy( 
    IGoogleDesktopDisplayContentItemHelper * This,
    /* [retval][out] */ IPicture **image);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper_get_notifier_image_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper_put_time_created_Proxy( 
    IGoogleDesktopDisplayContentItemHelper * This,
    /* [in] */ DATE time_created);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper_put_time_created_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper_get_time_created_Proxy( 
    IGoogleDesktopDisplayContentItemHelper * This,
    /* [retval][out] */ DATE *time_created);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper_get_time_created_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper_put_heading_Proxy( 
    IGoogleDesktopDisplayContentItemHelper * This,
    /* [in] */ BSTR heading);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper_put_heading_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper_get_heading_Proxy( 
    IGoogleDesktopDisplayContentItemHelper * This,
    /* [retval][out] */ BSTR *heading);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper_get_heading_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper_put_source_Proxy( 
    IGoogleDesktopDisplayContentItemHelper * This,
    /* [in] */ BSTR source);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper_put_source_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper_get_source_Proxy( 
    IGoogleDesktopDisplayContentItemHelper * This,
    /* [retval][out] */ BSTR *source);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper_get_source_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper_put_snippet_Proxy( 
    IGoogleDesktopDisplayContentItemHelper * This,
    /* [in] */ BSTR snippet);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper_put_snippet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper_get_snippet_Proxy( 
    IGoogleDesktopDisplayContentItemHelper * This,
    /* [retval][out] */ BSTR *snippet);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper_get_snippet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper_put_open_command_Proxy( 
    IGoogleDesktopDisplayContentItemHelper * This,
    /* [in] */ VARIANT open_command);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper_put_open_command_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper_get_open_command_Proxy( 
    IGoogleDesktopDisplayContentItemHelper * This,
    /* [retval][out] */ VARIANT *open_command);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper_get_open_command_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper_put_layout_Proxy( 
    IGoogleDesktopDisplayContentItemHelper * This,
    /* [in] */ GoogleDesktopDisplayContentItemLayout layout);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper_put_layout_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper_get_layout_Proxy( 
    IGoogleDesktopDisplayContentItemHelper * This,
    /* [retval][out] */ GoogleDesktopDisplayContentItemLayout *layout);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper_get_layout_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper_put_flags_Proxy( 
    IGoogleDesktopDisplayContentItemHelper * This,
    /* [in] */ GoogleDesktopDisplayContentItemFlags flags);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper_put_flags_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper_put_tooltip_Proxy( 
    IGoogleDesktopDisplayContentItemHelper * This,
    /* [in] */ BSTR tooltip);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper_put_tooltip_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopDisplayContentItemHelper_INTERFACE_DEFINED__ */


#ifndef __IGoogleDesktopDisplayContentItemHelper2_INTERFACE_DEFINED__
#define __IGoogleDesktopDisplayContentItemHelper2_INTERFACE_DEFINED__

/* interface IGoogleDesktopDisplayContentItemHelper2 */
/* [unique][dual][uuid][object] */ 


EXTERN_C const IID IID_IGoogleDesktopDisplayContentItemHelper2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("EB959B93-5C03-4267-9441-660A05DBB89F")
    IGoogleDesktopDisplayContentItemHelper2 : public IGoogleDesktopDisplayContentItemHelper
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_onDrawItem( 
            /* [in] */ VARIANT func) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_onGetHeight( 
            /* [in] */ VARIANT func) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_onOpenItem( 
            /* [in] */ VARIANT func) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_onToggleItemPinnedState( 
            /* [in] */ VARIANT func) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_onGetIsTooltipRequired( 
            /* [in] */ VARIANT func) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_onDetailsView( 
            /* [in] */ VARIANT func) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_onProcessDetailsViewFeedback( 
            /* [in] */ VARIANT func) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_onRemoveItem( 
            /* [in] */ VARIANT func) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SetRect( 
            /* [in] */ long x,
            /* [in] */ long y,
            /* [in] */ long width,
            /* [in] */ long height) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_friend_name( 
            /* [retval][out] */ BSTR *friend_name) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_friend_name( 
            /* [in] */ BSTR friend_name) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopDisplayContentItemHelper2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopDisplayContentItemHelper2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopDisplayContentItemHelper2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_image )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [in] */ IPicture *image);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_image )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [retval][out] */ IPicture **image);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_notifier_image )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [in] */ IPicture *image);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_notifier_image )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [retval][out] */ IPicture **image);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_time_created )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [in] */ DATE time_created);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_time_created )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [retval][out] */ DATE *time_created);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_heading )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [in] */ BSTR heading);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_heading )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [retval][out] */ BSTR *heading);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_source )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [in] */ BSTR source);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_source )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [retval][out] */ BSTR *source);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_snippet )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [in] */ BSTR snippet);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_snippet )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [retval][out] */ BSTR *snippet);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_open_command )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [in] */ VARIANT open_command);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_open_command )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [retval][out] */ VARIANT *open_command);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_layout )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [in] */ GoogleDesktopDisplayContentItemLayout layout);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_layout )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [retval][out] */ GoogleDesktopDisplayContentItemLayout *layout);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_flags )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [in] */ GoogleDesktopDisplayContentItemFlags flags);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_tooltip )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [in] */ BSTR tooltip);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onDrawItem )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [in] */ VARIANT func);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onGetHeight )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [in] */ VARIANT func);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onOpenItem )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [in] */ VARIANT func);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onToggleItemPinnedState )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [in] */ VARIANT func);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onGetIsTooltipRequired )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [in] */ VARIANT func);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onDetailsView )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [in] */ VARIANT func);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onProcessDetailsViewFeedback )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [in] */ VARIANT func);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onRemoveItem )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [in] */ VARIANT func);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetRect )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [in] */ long x,
            /* [in] */ long y,
            /* [in] */ long width,
            /* [in] */ long height);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_friend_name )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [retval][out] */ BSTR *friend_name);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_friend_name )( 
            IGoogleDesktopDisplayContentItemHelper2 * This,
            /* [in] */ BSTR friend_name);
        
        END_INTERFACE
    } IGoogleDesktopDisplayContentItemHelper2Vtbl;

    interface IGoogleDesktopDisplayContentItemHelper2
    {
        CONST_VTBL struct IGoogleDesktopDisplayContentItemHelper2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopDisplayContentItemHelper2_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopDisplayContentItemHelper2_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopDisplayContentItemHelper2_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopDisplayContentItemHelper2_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IGoogleDesktopDisplayContentItemHelper2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IGoogleDesktopDisplayContentItemHelper2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IGoogleDesktopDisplayContentItemHelper2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IGoogleDesktopDisplayContentItemHelper2_put_image(This,image)	\
    (This)->lpVtbl -> put_image(This,image)

#define IGoogleDesktopDisplayContentItemHelper2_get_image(This,image)	\
    (This)->lpVtbl -> get_image(This,image)

#define IGoogleDesktopDisplayContentItemHelper2_put_notifier_image(This,image)	\
    (This)->lpVtbl -> put_notifier_image(This,image)

#define IGoogleDesktopDisplayContentItemHelper2_get_notifier_image(This,image)	\
    (This)->lpVtbl -> get_notifier_image(This,image)

#define IGoogleDesktopDisplayContentItemHelper2_put_time_created(This,time_created)	\
    (This)->lpVtbl -> put_time_created(This,time_created)

#define IGoogleDesktopDisplayContentItemHelper2_get_time_created(This,time_created)	\
    (This)->lpVtbl -> get_time_created(This,time_created)

#define IGoogleDesktopDisplayContentItemHelper2_put_heading(This,heading)	\
    (This)->lpVtbl -> put_heading(This,heading)

#define IGoogleDesktopDisplayContentItemHelper2_get_heading(This,heading)	\
    (This)->lpVtbl -> get_heading(This,heading)

#define IGoogleDesktopDisplayContentItemHelper2_put_source(This,source)	\
    (This)->lpVtbl -> put_source(This,source)

#define IGoogleDesktopDisplayContentItemHelper2_get_source(This,source)	\
    (This)->lpVtbl -> get_source(This,source)

#define IGoogleDesktopDisplayContentItemHelper2_put_snippet(This,snippet)	\
    (This)->lpVtbl -> put_snippet(This,snippet)

#define IGoogleDesktopDisplayContentItemHelper2_get_snippet(This,snippet)	\
    (This)->lpVtbl -> get_snippet(This,snippet)

#define IGoogleDesktopDisplayContentItemHelper2_put_open_command(This,open_command)	\
    (This)->lpVtbl -> put_open_command(This,open_command)

#define IGoogleDesktopDisplayContentItemHelper2_get_open_command(This,open_command)	\
    (This)->lpVtbl -> get_open_command(This,open_command)

#define IGoogleDesktopDisplayContentItemHelper2_put_layout(This,layout)	\
    (This)->lpVtbl -> put_layout(This,layout)

#define IGoogleDesktopDisplayContentItemHelper2_get_layout(This,layout)	\
    (This)->lpVtbl -> get_layout(This,layout)

#define IGoogleDesktopDisplayContentItemHelper2_put_flags(This,flags)	\
    (This)->lpVtbl -> put_flags(This,flags)

#define IGoogleDesktopDisplayContentItemHelper2_put_tooltip(This,tooltip)	\
    (This)->lpVtbl -> put_tooltip(This,tooltip)


#define IGoogleDesktopDisplayContentItemHelper2_put_onDrawItem(This,func)	\
    (This)->lpVtbl -> put_onDrawItem(This,func)

#define IGoogleDesktopDisplayContentItemHelper2_put_onGetHeight(This,func)	\
    (This)->lpVtbl -> put_onGetHeight(This,func)

#define IGoogleDesktopDisplayContentItemHelper2_put_onOpenItem(This,func)	\
    (This)->lpVtbl -> put_onOpenItem(This,func)

#define IGoogleDesktopDisplayContentItemHelper2_put_onToggleItemPinnedState(This,func)	\
    (This)->lpVtbl -> put_onToggleItemPinnedState(This,func)

#define IGoogleDesktopDisplayContentItemHelper2_put_onGetIsTooltipRequired(This,func)	\
    (This)->lpVtbl -> put_onGetIsTooltipRequired(This,func)

#define IGoogleDesktopDisplayContentItemHelper2_put_onDetailsView(This,func)	\
    (This)->lpVtbl -> put_onDetailsView(This,func)

#define IGoogleDesktopDisplayContentItemHelper2_put_onProcessDetailsViewFeedback(This,func)	\
    (This)->lpVtbl -> put_onProcessDetailsViewFeedback(This,func)

#define IGoogleDesktopDisplayContentItemHelper2_put_onRemoveItem(This,func)	\
    (This)->lpVtbl -> put_onRemoveItem(This,func)

#define IGoogleDesktopDisplayContentItemHelper2_SetRect(This,x,y,width,height)	\
    (This)->lpVtbl -> SetRect(This,x,y,width,height)

#define IGoogleDesktopDisplayContentItemHelper2_get_friend_name(This,friend_name)	\
    (This)->lpVtbl -> get_friend_name(This,friend_name)

#define IGoogleDesktopDisplayContentItemHelper2_put_friend_name(This,friend_name)	\
    (This)->lpVtbl -> put_friend_name(This,friend_name)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper2_put_onDrawItem_Proxy( 
    IGoogleDesktopDisplayContentItemHelper2 * This,
    /* [in] */ VARIANT func);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper2_put_onDrawItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper2_put_onGetHeight_Proxy( 
    IGoogleDesktopDisplayContentItemHelper2 * This,
    /* [in] */ VARIANT func);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper2_put_onGetHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper2_put_onOpenItem_Proxy( 
    IGoogleDesktopDisplayContentItemHelper2 * This,
    /* [in] */ VARIANT func);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper2_put_onOpenItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper2_put_onToggleItemPinnedState_Proxy( 
    IGoogleDesktopDisplayContentItemHelper2 * This,
    /* [in] */ VARIANT func);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper2_put_onToggleItemPinnedState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper2_put_onGetIsTooltipRequired_Proxy( 
    IGoogleDesktopDisplayContentItemHelper2 * This,
    /* [in] */ VARIANT func);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper2_put_onGetIsTooltipRequired_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper2_put_onDetailsView_Proxy( 
    IGoogleDesktopDisplayContentItemHelper2 * This,
    /* [in] */ VARIANT func);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper2_put_onDetailsView_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper2_put_onProcessDetailsViewFeedback_Proxy( 
    IGoogleDesktopDisplayContentItemHelper2 * This,
    /* [in] */ VARIANT func);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper2_put_onProcessDetailsViewFeedback_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper2_put_onRemoveItem_Proxy( 
    IGoogleDesktopDisplayContentItemHelper2 * This,
    /* [in] */ VARIANT func);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper2_put_onRemoveItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper2_SetRect_Proxy( 
    IGoogleDesktopDisplayContentItemHelper2 * This,
    /* [in] */ long x,
    /* [in] */ long y,
    /* [in] */ long width,
    /* [in] */ long height);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper2_SetRect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper2_get_friend_name_Proxy( 
    IGoogleDesktopDisplayContentItemHelper2 * This,
    /* [retval][out] */ BSTR *friend_name);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper2_get_friend_name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper2_put_friend_name_Proxy( 
    IGoogleDesktopDisplayContentItemHelper2 * This,
    /* [in] */ BSTR friend_name);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper2_put_friend_name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopDisplayContentItemHelper2_INTERFACE_DEFINED__ */


#ifndef __IGoogleDesktopDisplayContentItemHelper3_INTERFACE_DEFINED__
#define __IGoogleDesktopDisplayContentItemHelper3_INTERFACE_DEFINED__

/* interface IGoogleDesktopDisplayContentItemHelper3 */
/* [unique][dual][uuid][object] */ 


EXTERN_C const IID IID_IGoogleDesktopDisplayContentItemHelper3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A9EC4AB3-7F13-42df-A092-38BDFBC2CC2D")
    IGoogleDesktopDisplayContentItemHelper3 : public IGoogleDesktopDisplayContentItemHelper2
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_time_received( 
            /* [in] */ DATE time_received) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_time_received( 
            /* [retval][out] */ DATE *time_received) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopDisplayContentItemHelper3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopDisplayContentItemHelper3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopDisplayContentItemHelper3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_image )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [in] */ IPicture *image);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_image )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [retval][out] */ IPicture **image);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_notifier_image )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [in] */ IPicture *image);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_notifier_image )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [retval][out] */ IPicture **image);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_time_created )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [in] */ DATE time_created);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_time_created )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [retval][out] */ DATE *time_created);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_heading )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [in] */ BSTR heading);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_heading )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [retval][out] */ BSTR *heading);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_source )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [in] */ BSTR source);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_source )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [retval][out] */ BSTR *source);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_snippet )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [in] */ BSTR snippet);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_snippet )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [retval][out] */ BSTR *snippet);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_open_command )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [in] */ VARIANT open_command);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_open_command )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [retval][out] */ VARIANT *open_command);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_layout )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [in] */ GoogleDesktopDisplayContentItemLayout layout);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_layout )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [retval][out] */ GoogleDesktopDisplayContentItemLayout *layout);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_flags )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [in] */ GoogleDesktopDisplayContentItemFlags flags);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_tooltip )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [in] */ BSTR tooltip);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onDrawItem )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [in] */ VARIANT func);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onGetHeight )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [in] */ VARIANT func);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onOpenItem )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [in] */ VARIANT func);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onToggleItemPinnedState )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [in] */ VARIANT func);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onGetIsTooltipRequired )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [in] */ VARIANT func);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onDetailsView )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [in] */ VARIANT func);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onProcessDetailsViewFeedback )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [in] */ VARIANT func);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onRemoveItem )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [in] */ VARIANT func);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetRect )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [in] */ long x,
            /* [in] */ long y,
            /* [in] */ long width,
            /* [in] */ long height);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_friend_name )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [retval][out] */ BSTR *friend_name);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_friend_name )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [in] */ BSTR friend_name);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_time_received )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [in] */ DATE time_received);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_time_received )( 
            IGoogleDesktopDisplayContentItemHelper3 * This,
            /* [retval][out] */ DATE *time_received);
        
        END_INTERFACE
    } IGoogleDesktopDisplayContentItemHelper3Vtbl;

    interface IGoogleDesktopDisplayContentItemHelper3
    {
        CONST_VTBL struct IGoogleDesktopDisplayContentItemHelper3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopDisplayContentItemHelper3_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopDisplayContentItemHelper3_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopDisplayContentItemHelper3_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopDisplayContentItemHelper3_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IGoogleDesktopDisplayContentItemHelper3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IGoogleDesktopDisplayContentItemHelper3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IGoogleDesktopDisplayContentItemHelper3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IGoogleDesktopDisplayContentItemHelper3_put_image(This,image)	\
    (This)->lpVtbl -> put_image(This,image)

#define IGoogleDesktopDisplayContentItemHelper3_get_image(This,image)	\
    (This)->lpVtbl -> get_image(This,image)

#define IGoogleDesktopDisplayContentItemHelper3_put_notifier_image(This,image)	\
    (This)->lpVtbl -> put_notifier_image(This,image)

#define IGoogleDesktopDisplayContentItemHelper3_get_notifier_image(This,image)	\
    (This)->lpVtbl -> get_notifier_image(This,image)

#define IGoogleDesktopDisplayContentItemHelper3_put_time_created(This,time_created)	\
    (This)->lpVtbl -> put_time_created(This,time_created)

#define IGoogleDesktopDisplayContentItemHelper3_get_time_created(This,time_created)	\
    (This)->lpVtbl -> get_time_created(This,time_created)

#define IGoogleDesktopDisplayContentItemHelper3_put_heading(This,heading)	\
    (This)->lpVtbl -> put_heading(This,heading)

#define IGoogleDesktopDisplayContentItemHelper3_get_heading(This,heading)	\
    (This)->lpVtbl -> get_heading(This,heading)

#define IGoogleDesktopDisplayContentItemHelper3_put_source(This,source)	\
    (This)->lpVtbl -> put_source(This,source)

#define IGoogleDesktopDisplayContentItemHelper3_get_source(This,source)	\
    (This)->lpVtbl -> get_source(This,source)

#define IGoogleDesktopDisplayContentItemHelper3_put_snippet(This,snippet)	\
    (This)->lpVtbl -> put_snippet(This,snippet)

#define IGoogleDesktopDisplayContentItemHelper3_get_snippet(This,snippet)	\
    (This)->lpVtbl -> get_snippet(This,snippet)

#define IGoogleDesktopDisplayContentItemHelper3_put_open_command(This,open_command)	\
    (This)->lpVtbl -> put_open_command(This,open_command)

#define IGoogleDesktopDisplayContentItemHelper3_get_open_command(This,open_command)	\
    (This)->lpVtbl -> get_open_command(This,open_command)

#define IGoogleDesktopDisplayContentItemHelper3_put_layout(This,layout)	\
    (This)->lpVtbl -> put_layout(This,layout)

#define IGoogleDesktopDisplayContentItemHelper3_get_layout(This,layout)	\
    (This)->lpVtbl -> get_layout(This,layout)

#define IGoogleDesktopDisplayContentItemHelper3_put_flags(This,flags)	\
    (This)->lpVtbl -> put_flags(This,flags)

#define IGoogleDesktopDisplayContentItemHelper3_put_tooltip(This,tooltip)	\
    (This)->lpVtbl -> put_tooltip(This,tooltip)


#define IGoogleDesktopDisplayContentItemHelper3_put_onDrawItem(This,func)	\
    (This)->lpVtbl -> put_onDrawItem(This,func)

#define IGoogleDesktopDisplayContentItemHelper3_put_onGetHeight(This,func)	\
    (This)->lpVtbl -> put_onGetHeight(This,func)

#define IGoogleDesktopDisplayContentItemHelper3_put_onOpenItem(This,func)	\
    (This)->lpVtbl -> put_onOpenItem(This,func)

#define IGoogleDesktopDisplayContentItemHelper3_put_onToggleItemPinnedState(This,func)	\
    (This)->lpVtbl -> put_onToggleItemPinnedState(This,func)

#define IGoogleDesktopDisplayContentItemHelper3_put_onGetIsTooltipRequired(This,func)	\
    (This)->lpVtbl -> put_onGetIsTooltipRequired(This,func)

#define IGoogleDesktopDisplayContentItemHelper3_put_onDetailsView(This,func)	\
    (This)->lpVtbl -> put_onDetailsView(This,func)

#define IGoogleDesktopDisplayContentItemHelper3_put_onProcessDetailsViewFeedback(This,func)	\
    (This)->lpVtbl -> put_onProcessDetailsViewFeedback(This,func)

#define IGoogleDesktopDisplayContentItemHelper3_put_onRemoveItem(This,func)	\
    (This)->lpVtbl -> put_onRemoveItem(This,func)

#define IGoogleDesktopDisplayContentItemHelper3_SetRect(This,x,y,width,height)	\
    (This)->lpVtbl -> SetRect(This,x,y,width,height)

#define IGoogleDesktopDisplayContentItemHelper3_get_friend_name(This,friend_name)	\
    (This)->lpVtbl -> get_friend_name(This,friend_name)

#define IGoogleDesktopDisplayContentItemHelper3_put_friend_name(This,friend_name)	\
    (This)->lpVtbl -> put_friend_name(This,friend_name)


#define IGoogleDesktopDisplayContentItemHelper3_put_time_received(This,time_received)	\
    (This)->lpVtbl -> put_time_received(This,time_received)

#define IGoogleDesktopDisplayContentItemHelper3_get_time_received(This,time_received)	\
    (This)->lpVtbl -> get_time_received(This,time_received)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper3_put_time_received_Proxy( 
    IGoogleDesktopDisplayContentItemHelper3 * This,
    /* [in] */ DATE time_received);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper3_put_time_received_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayContentItemHelper3_get_time_received_Proxy( 
    IGoogleDesktopDisplayContentItemHelper3 * This,
    /* [retval][out] */ DATE *time_received);


void __RPC_STUB IGoogleDesktopDisplayContentItemHelper3_get_time_received_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopDisplayContentItemHelper3_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_GoogleDesktopDisplayAPI_0271 */
/* [local] */ 


enum __MIDL___MIDL_itf_GoogleDesktopDisplayAPI_0271_0001
    {	DISPID_GDD_PH_TITLE	= DISPID_GDD_PH_START,
	DISPID_GDD_PH_ABOUT_TEXT	= DISPID_GDD_PH_TITLE + 1,
	DISPID_GDD_PH_SETFLAGS	= DISPID_GDD_PH_ABOUT_TEXT + 1,
	DISPID_GDD_PH_SETICONS	= DISPID_GDD_PH_SETFLAGS + 1,
	DISPID_GDD_PH_ADDCONTENTITEM	= DISPID_GDD_PH_SETICONS + 1,
	DISPID_GDD_PH_REMOVECONTENTITEM	= DISPID_GDD_PH_ADDCONTENTITEM + 1,
	DISPID_GDD_PH_REMOVEALLCONTENTITEMS	= DISPID_GDD_PH_REMOVECONTENTITEM + 1,
	DISPID_GDD_PH_CONTENTITEMS	= DISPID_GDD_PH_REMOVEALLCONTENTITEMS + 1,
	DISPID_GDD_PH_MAXCONTENTITEMS	= DISPID_GDD_PH_CONTENTITEMS + 1,
	DISPID_GDD_PH_WINDOW_WIDTH	= DISPID_GDD_PH_MAXCONTENTITEMS + 1,
	DISPID_GDD_PH_WINDOW_HEIGHT	= DISPID_GDD_PH_WINDOW_WIDTH + 1,
	DISPID_GDD_PH_PINIMAGES	= DISPID_GDD_PH_WINDOW_HEIGHT + 1,
	DISPID_GDD_PH_ON_SHOWOPTIONSDLG	= DISPID_GDD_PH_PINIMAGES + 1,
	DISPID_GDD_PH_ON_COMMAND	= DISPID_GDD_PH_ON_SHOWOPTIONSDLG + 1,
	DISPID_GDD_PH_ON_DISPLAYSTATECHANGE	= DISPID_GDD_PH_ON_COMMAND + 1,
	DISPID_GDD_PH_ON_ADDCUSTOMMENUITEMS	= DISPID_GDD_PH_ON_DISPLAYSTATECHANGE + 1,
	DISPID_GDD_PH_ON_DISPLAYTARGETCHANGE	= DISPID_GDD_PH_ON_ADDCUSTOMMENUITEMS + 1,
	DISPID_GDD_PH_PLUGIN_FLAGS	= DISPID_GDD_PH_ON_DISPLAYTARGETCHANGE + 1,
	DISPID_GDD_PH_CONTENT_FLAGS	= DISPID_GDD_PH_PLUGIN_FLAGS + 1
    } ;


extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0271_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0271_v0_0_s_ifspec;

#ifndef __IGoogleDesktopDisplayPluginHelper_INTERFACE_DEFINED__
#define __IGoogleDesktopDisplayPluginHelper_INTERFACE_DEFINED__

/* interface IGoogleDesktopDisplayPluginHelper */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_IGoogleDesktopDisplayPluginHelper;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5E72293F-05C2-4C1A-8E4E-3158EC3D8574")
    IGoogleDesktopDisplayPluginHelper : public IDispatch
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_title( 
            /* [in] */ BSTR title) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SetFlags( 
            /* [in] */ GoogleDesktopDisplayPluginFlags plugin_flags,
            /* [in] */ GoogleDesktopDisplayContentFlags content_flags) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SetIcons( 
            /* [in] */ IPicture *small_icon,
            /* [in] */ IPicture *large_icon) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_about_text( 
            /* [in] */ BSTR about_text) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddContentItem( 
            /* [in] */ IUnknown *item,
            /* [in] */ GoogleDesktopContentItemDisplayOptions options) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE RemoveContentItem( 
            /* [in] */ IUnknown *item) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE RemoveAllContentItems( void) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_content_items( 
            /* [retval][out] */ VARIANT *items) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_content_items( 
            /* [in] */ VARIANT items) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_max_content_items( 
            /* [retval][out] */ long *max_items) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_max_content_items( 
            /* [in] */ long max_items) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopDisplayPluginHelperVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopDisplayPluginHelper * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopDisplayPluginHelper * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopDisplayPluginHelper * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGoogleDesktopDisplayPluginHelper * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGoogleDesktopDisplayPluginHelper * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGoogleDesktopDisplayPluginHelper * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGoogleDesktopDisplayPluginHelper * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_title )( 
            IGoogleDesktopDisplayPluginHelper * This,
            /* [in] */ BSTR title);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetFlags )( 
            IGoogleDesktopDisplayPluginHelper * This,
            /* [in] */ GoogleDesktopDisplayPluginFlags plugin_flags,
            /* [in] */ GoogleDesktopDisplayContentFlags content_flags);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetIcons )( 
            IGoogleDesktopDisplayPluginHelper * This,
            /* [in] */ IPicture *small_icon,
            /* [in] */ IPicture *large_icon);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_about_text )( 
            IGoogleDesktopDisplayPluginHelper * This,
            /* [in] */ BSTR about_text);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddContentItem )( 
            IGoogleDesktopDisplayPluginHelper * This,
            /* [in] */ IUnknown *item,
            /* [in] */ GoogleDesktopContentItemDisplayOptions options);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RemoveContentItem )( 
            IGoogleDesktopDisplayPluginHelper * This,
            /* [in] */ IUnknown *item);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RemoveAllContentItems )( 
            IGoogleDesktopDisplayPluginHelper * This);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_content_items )( 
            IGoogleDesktopDisplayPluginHelper * This,
            /* [retval][out] */ VARIANT *items);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_content_items )( 
            IGoogleDesktopDisplayPluginHelper * This,
            /* [in] */ VARIANT items);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_max_content_items )( 
            IGoogleDesktopDisplayPluginHelper * This,
            /* [retval][out] */ long *max_items);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_max_content_items )( 
            IGoogleDesktopDisplayPluginHelper * This,
            /* [in] */ long max_items);
        
        END_INTERFACE
    } IGoogleDesktopDisplayPluginHelperVtbl;

    interface IGoogleDesktopDisplayPluginHelper
    {
        CONST_VTBL struct IGoogleDesktopDisplayPluginHelperVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopDisplayPluginHelper_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopDisplayPluginHelper_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopDisplayPluginHelper_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopDisplayPluginHelper_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IGoogleDesktopDisplayPluginHelper_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IGoogleDesktopDisplayPluginHelper_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IGoogleDesktopDisplayPluginHelper_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IGoogleDesktopDisplayPluginHelper_put_title(This,title)	\
    (This)->lpVtbl -> put_title(This,title)

#define IGoogleDesktopDisplayPluginHelper_SetFlags(This,plugin_flags,content_flags)	\
    (This)->lpVtbl -> SetFlags(This,plugin_flags,content_flags)

#define IGoogleDesktopDisplayPluginHelper_SetIcons(This,small_icon,large_icon)	\
    (This)->lpVtbl -> SetIcons(This,small_icon,large_icon)

#define IGoogleDesktopDisplayPluginHelper_put_about_text(This,about_text)	\
    (This)->lpVtbl -> put_about_text(This,about_text)

#define IGoogleDesktopDisplayPluginHelper_AddContentItem(This,item,options)	\
    (This)->lpVtbl -> AddContentItem(This,item,options)

#define IGoogleDesktopDisplayPluginHelper_RemoveContentItem(This,item)	\
    (This)->lpVtbl -> RemoveContentItem(This,item)

#define IGoogleDesktopDisplayPluginHelper_RemoveAllContentItems(This)	\
    (This)->lpVtbl -> RemoveAllContentItems(This)

#define IGoogleDesktopDisplayPluginHelper_get_content_items(This,items)	\
    (This)->lpVtbl -> get_content_items(This,items)

#define IGoogleDesktopDisplayPluginHelper_put_content_items(This,items)	\
    (This)->lpVtbl -> put_content_items(This,items)

#define IGoogleDesktopDisplayPluginHelper_get_max_content_items(This,max_items)	\
    (This)->lpVtbl -> get_max_content_items(This,max_items)

#define IGoogleDesktopDisplayPluginHelper_put_max_content_items(This,max_items)	\
    (This)->lpVtbl -> put_max_content_items(This,max_items)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginHelper_put_title_Proxy( 
    IGoogleDesktopDisplayPluginHelper * This,
    /* [in] */ BSTR title);


void __RPC_STUB IGoogleDesktopDisplayPluginHelper_put_title_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginHelper_SetFlags_Proxy( 
    IGoogleDesktopDisplayPluginHelper * This,
    /* [in] */ GoogleDesktopDisplayPluginFlags plugin_flags,
    /* [in] */ GoogleDesktopDisplayContentFlags content_flags);


void __RPC_STUB IGoogleDesktopDisplayPluginHelper_SetFlags_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginHelper_SetIcons_Proxy( 
    IGoogleDesktopDisplayPluginHelper * This,
    /* [in] */ IPicture *small_icon,
    /* [in] */ IPicture *large_icon);


void __RPC_STUB IGoogleDesktopDisplayPluginHelper_SetIcons_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginHelper_put_about_text_Proxy( 
    IGoogleDesktopDisplayPluginHelper * This,
    /* [in] */ BSTR about_text);


void __RPC_STUB IGoogleDesktopDisplayPluginHelper_put_about_text_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginHelper_AddContentItem_Proxy( 
    IGoogleDesktopDisplayPluginHelper * This,
    /* [in] */ IUnknown *item,
    /* [in] */ GoogleDesktopContentItemDisplayOptions options);


void __RPC_STUB IGoogleDesktopDisplayPluginHelper_AddContentItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginHelper_RemoveContentItem_Proxy( 
    IGoogleDesktopDisplayPluginHelper * This,
    /* [in] */ IUnknown *item);


void __RPC_STUB IGoogleDesktopDisplayPluginHelper_RemoveContentItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginHelper_RemoveAllContentItems_Proxy( 
    IGoogleDesktopDisplayPluginHelper * This);


void __RPC_STUB IGoogleDesktopDisplayPluginHelper_RemoveAllContentItems_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginHelper_get_content_items_Proxy( 
    IGoogleDesktopDisplayPluginHelper * This,
    /* [retval][out] */ VARIANT *items);


void __RPC_STUB IGoogleDesktopDisplayPluginHelper_get_content_items_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginHelper_put_content_items_Proxy( 
    IGoogleDesktopDisplayPluginHelper * This,
    /* [in] */ VARIANT items);


void __RPC_STUB IGoogleDesktopDisplayPluginHelper_put_content_items_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginHelper_get_max_content_items_Proxy( 
    IGoogleDesktopDisplayPluginHelper * This,
    /* [retval][out] */ long *max_items);


void __RPC_STUB IGoogleDesktopDisplayPluginHelper_get_max_content_items_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginHelper_put_max_content_items_Proxy( 
    IGoogleDesktopDisplayPluginHelper * This,
    /* [in] */ long max_items);


void __RPC_STUB IGoogleDesktopDisplayPluginHelper_put_max_content_items_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopDisplayPluginHelper_INTERFACE_DEFINED__ */


#ifndef __IGoogleDesktopDisplayPluginHelper2_INTERFACE_DEFINED__
#define __IGoogleDesktopDisplayPluginHelper2_INTERFACE_DEFINED__

/* interface IGoogleDesktopDisplayPluginHelper2 */
/* [unique][dual][uuid][object] */ 


EXTERN_C const IID IID_IGoogleDesktopDisplayPluginHelper2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("04D8CD86-CF9C-46c1-9BA0-BA069B3469E7")
    IGoogleDesktopDisplayPluginHelper2 : public IGoogleDesktopDisplayPluginHelper
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_window_width( 
            /* [retval][out] */ long *width) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_window_height( 
            /* [retval][out] */ long *height) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_pin_images( 
            /* [retval][out] */ VARIANT *images) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_pin_images( 
            /* [in] */ VARIANT images) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_onShowOptionsDlg( 
            /* [in] */ VARIANT handler) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_onAddCustomMenuItems( 
            /* [in] */ VARIANT handler) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_onCommand( 
            /* [in] */ VARIANT handler) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_onDisplayStateChange( 
            /* [in] */ VARIANT handler) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopDisplayPluginHelper2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopDisplayPluginHelper2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopDisplayPluginHelper2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopDisplayPluginHelper2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGoogleDesktopDisplayPluginHelper2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGoogleDesktopDisplayPluginHelper2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGoogleDesktopDisplayPluginHelper2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGoogleDesktopDisplayPluginHelper2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_title )( 
            IGoogleDesktopDisplayPluginHelper2 * This,
            /* [in] */ BSTR title);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetFlags )( 
            IGoogleDesktopDisplayPluginHelper2 * This,
            /* [in] */ GoogleDesktopDisplayPluginFlags plugin_flags,
            /* [in] */ GoogleDesktopDisplayContentFlags content_flags);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetIcons )( 
            IGoogleDesktopDisplayPluginHelper2 * This,
            /* [in] */ IPicture *small_icon,
            /* [in] */ IPicture *large_icon);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_about_text )( 
            IGoogleDesktopDisplayPluginHelper2 * This,
            /* [in] */ BSTR about_text);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddContentItem )( 
            IGoogleDesktopDisplayPluginHelper2 * This,
            /* [in] */ IUnknown *item,
            /* [in] */ GoogleDesktopContentItemDisplayOptions options);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RemoveContentItem )( 
            IGoogleDesktopDisplayPluginHelper2 * This,
            /* [in] */ IUnknown *item);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RemoveAllContentItems )( 
            IGoogleDesktopDisplayPluginHelper2 * This);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_content_items )( 
            IGoogleDesktopDisplayPluginHelper2 * This,
            /* [retval][out] */ VARIANT *items);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_content_items )( 
            IGoogleDesktopDisplayPluginHelper2 * This,
            /* [in] */ VARIANT items);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_max_content_items )( 
            IGoogleDesktopDisplayPluginHelper2 * This,
            /* [retval][out] */ long *max_items);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_max_content_items )( 
            IGoogleDesktopDisplayPluginHelper2 * This,
            /* [in] */ long max_items);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_window_width )( 
            IGoogleDesktopDisplayPluginHelper2 * This,
            /* [retval][out] */ long *width);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_window_height )( 
            IGoogleDesktopDisplayPluginHelper2 * This,
            /* [retval][out] */ long *height);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pin_images )( 
            IGoogleDesktopDisplayPluginHelper2 * This,
            /* [retval][out] */ VARIANT *images);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pin_images )( 
            IGoogleDesktopDisplayPluginHelper2 * This,
            /* [in] */ VARIANT images);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onShowOptionsDlg )( 
            IGoogleDesktopDisplayPluginHelper2 * This,
            /* [in] */ VARIANT handler);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onAddCustomMenuItems )( 
            IGoogleDesktopDisplayPluginHelper2 * This,
            /* [in] */ VARIANT handler);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onCommand )( 
            IGoogleDesktopDisplayPluginHelper2 * This,
            /* [in] */ VARIANT handler);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onDisplayStateChange )( 
            IGoogleDesktopDisplayPluginHelper2 * This,
            /* [in] */ VARIANT handler);
        
        END_INTERFACE
    } IGoogleDesktopDisplayPluginHelper2Vtbl;

    interface IGoogleDesktopDisplayPluginHelper2
    {
        CONST_VTBL struct IGoogleDesktopDisplayPluginHelper2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopDisplayPluginHelper2_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopDisplayPluginHelper2_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopDisplayPluginHelper2_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopDisplayPluginHelper2_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IGoogleDesktopDisplayPluginHelper2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IGoogleDesktopDisplayPluginHelper2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IGoogleDesktopDisplayPluginHelper2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IGoogleDesktopDisplayPluginHelper2_put_title(This,title)	\
    (This)->lpVtbl -> put_title(This,title)

#define IGoogleDesktopDisplayPluginHelper2_SetFlags(This,plugin_flags,content_flags)	\
    (This)->lpVtbl -> SetFlags(This,plugin_flags,content_flags)

#define IGoogleDesktopDisplayPluginHelper2_SetIcons(This,small_icon,large_icon)	\
    (This)->lpVtbl -> SetIcons(This,small_icon,large_icon)

#define IGoogleDesktopDisplayPluginHelper2_put_about_text(This,about_text)	\
    (This)->lpVtbl -> put_about_text(This,about_text)

#define IGoogleDesktopDisplayPluginHelper2_AddContentItem(This,item,options)	\
    (This)->lpVtbl -> AddContentItem(This,item,options)

#define IGoogleDesktopDisplayPluginHelper2_RemoveContentItem(This,item)	\
    (This)->lpVtbl -> RemoveContentItem(This,item)

#define IGoogleDesktopDisplayPluginHelper2_RemoveAllContentItems(This)	\
    (This)->lpVtbl -> RemoveAllContentItems(This)

#define IGoogleDesktopDisplayPluginHelper2_get_content_items(This,items)	\
    (This)->lpVtbl -> get_content_items(This,items)

#define IGoogleDesktopDisplayPluginHelper2_put_content_items(This,items)	\
    (This)->lpVtbl -> put_content_items(This,items)

#define IGoogleDesktopDisplayPluginHelper2_get_max_content_items(This,max_items)	\
    (This)->lpVtbl -> get_max_content_items(This,max_items)

#define IGoogleDesktopDisplayPluginHelper2_put_max_content_items(This,max_items)	\
    (This)->lpVtbl -> put_max_content_items(This,max_items)


#define IGoogleDesktopDisplayPluginHelper2_get_window_width(This,width)	\
    (This)->lpVtbl -> get_window_width(This,width)

#define IGoogleDesktopDisplayPluginHelper2_get_window_height(This,height)	\
    (This)->lpVtbl -> get_window_height(This,height)

#define IGoogleDesktopDisplayPluginHelper2_get_pin_images(This,images)	\
    (This)->lpVtbl -> get_pin_images(This,images)

#define IGoogleDesktopDisplayPluginHelper2_put_pin_images(This,images)	\
    (This)->lpVtbl -> put_pin_images(This,images)

#define IGoogleDesktopDisplayPluginHelper2_put_onShowOptionsDlg(This,handler)	\
    (This)->lpVtbl -> put_onShowOptionsDlg(This,handler)

#define IGoogleDesktopDisplayPluginHelper2_put_onAddCustomMenuItems(This,handler)	\
    (This)->lpVtbl -> put_onAddCustomMenuItems(This,handler)

#define IGoogleDesktopDisplayPluginHelper2_put_onCommand(This,handler)	\
    (This)->lpVtbl -> put_onCommand(This,handler)

#define IGoogleDesktopDisplayPluginHelper2_put_onDisplayStateChange(This,handler)	\
    (This)->lpVtbl -> put_onDisplayStateChange(This,handler)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginHelper2_get_window_width_Proxy( 
    IGoogleDesktopDisplayPluginHelper2 * This,
    /* [retval][out] */ long *width);


void __RPC_STUB IGoogleDesktopDisplayPluginHelper2_get_window_width_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginHelper2_get_window_height_Proxy( 
    IGoogleDesktopDisplayPluginHelper2 * This,
    /* [retval][out] */ long *height);


void __RPC_STUB IGoogleDesktopDisplayPluginHelper2_get_window_height_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginHelper2_get_pin_images_Proxy( 
    IGoogleDesktopDisplayPluginHelper2 * This,
    /* [retval][out] */ VARIANT *images);


void __RPC_STUB IGoogleDesktopDisplayPluginHelper2_get_pin_images_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginHelper2_put_pin_images_Proxy( 
    IGoogleDesktopDisplayPluginHelper2 * This,
    /* [in] */ VARIANT images);


void __RPC_STUB IGoogleDesktopDisplayPluginHelper2_put_pin_images_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginHelper2_put_onShowOptionsDlg_Proxy( 
    IGoogleDesktopDisplayPluginHelper2 * This,
    /* [in] */ VARIANT handler);


void __RPC_STUB IGoogleDesktopDisplayPluginHelper2_put_onShowOptionsDlg_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginHelper2_put_onAddCustomMenuItems_Proxy( 
    IGoogleDesktopDisplayPluginHelper2 * This,
    /* [in] */ VARIANT handler);


void __RPC_STUB IGoogleDesktopDisplayPluginHelper2_put_onAddCustomMenuItems_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginHelper2_put_onCommand_Proxy( 
    IGoogleDesktopDisplayPluginHelper2 * This,
    /* [in] */ VARIANT handler);


void __RPC_STUB IGoogleDesktopDisplayPluginHelper2_put_onCommand_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginHelper2_put_onDisplayStateChange_Proxy( 
    IGoogleDesktopDisplayPluginHelper2 * This,
    /* [in] */ VARIANT handler);


void __RPC_STUB IGoogleDesktopDisplayPluginHelper2_put_onDisplayStateChange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopDisplayPluginHelper2_INTERFACE_DEFINED__ */


#ifndef __IGoogleDesktopDisplayPluginHelper3_INTERFACE_DEFINED__
#define __IGoogleDesktopDisplayPluginHelper3_INTERFACE_DEFINED__

/* interface IGoogleDesktopDisplayPluginHelper3 */
/* [unique][dual][uuid][object] */ 


EXTERN_C const IID IID_IGoogleDesktopDisplayPluginHelper3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C942271F-CEFF-4CF6-8597-050CE76A65B1")
    IGoogleDesktopDisplayPluginHelper3 : public IGoogleDesktopDisplayPluginHelper2
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_onDisplayTargetChange( 
            /* [in] */ VARIANT handler) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopDisplayPluginHelper3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopDisplayPluginHelper3 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopDisplayPluginHelper3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopDisplayPluginHelper3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGoogleDesktopDisplayPluginHelper3 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGoogleDesktopDisplayPluginHelper3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGoogleDesktopDisplayPluginHelper3 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGoogleDesktopDisplayPluginHelper3 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_title )( 
            IGoogleDesktopDisplayPluginHelper3 * This,
            /* [in] */ BSTR title);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetFlags )( 
            IGoogleDesktopDisplayPluginHelper3 * This,
            /* [in] */ GoogleDesktopDisplayPluginFlags plugin_flags,
            /* [in] */ GoogleDesktopDisplayContentFlags content_flags);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetIcons )( 
            IGoogleDesktopDisplayPluginHelper3 * This,
            /* [in] */ IPicture *small_icon,
            /* [in] */ IPicture *large_icon);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_about_text )( 
            IGoogleDesktopDisplayPluginHelper3 * This,
            /* [in] */ BSTR about_text);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddContentItem )( 
            IGoogleDesktopDisplayPluginHelper3 * This,
            /* [in] */ IUnknown *item,
            /* [in] */ GoogleDesktopContentItemDisplayOptions options);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RemoveContentItem )( 
            IGoogleDesktopDisplayPluginHelper3 * This,
            /* [in] */ IUnknown *item);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RemoveAllContentItems )( 
            IGoogleDesktopDisplayPluginHelper3 * This);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_content_items )( 
            IGoogleDesktopDisplayPluginHelper3 * This,
            /* [retval][out] */ VARIANT *items);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_content_items )( 
            IGoogleDesktopDisplayPluginHelper3 * This,
            /* [in] */ VARIANT items);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_max_content_items )( 
            IGoogleDesktopDisplayPluginHelper3 * This,
            /* [retval][out] */ long *max_items);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_max_content_items )( 
            IGoogleDesktopDisplayPluginHelper3 * This,
            /* [in] */ long max_items);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_window_width )( 
            IGoogleDesktopDisplayPluginHelper3 * This,
            /* [retval][out] */ long *width);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_window_height )( 
            IGoogleDesktopDisplayPluginHelper3 * This,
            /* [retval][out] */ long *height);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pin_images )( 
            IGoogleDesktopDisplayPluginHelper3 * This,
            /* [retval][out] */ VARIANT *images);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pin_images )( 
            IGoogleDesktopDisplayPluginHelper3 * This,
            /* [in] */ VARIANT images);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onShowOptionsDlg )( 
            IGoogleDesktopDisplayPluginHelper3 * This,
            /* [in] */ VARIANT handler);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onAddCustomMenuItems )( 
            IGoogleDesktopDisplayPluginHelper3 * This,
            /* [in] */ VARIANT handler);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onCommand )( 
            IGoogleDesktopDisplayPluginHelper3 * This,
            /* [in] */ VARIANT handler);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onDisplayStateChange )( 
            IGoogleDesktopDisplayPluginHelper3 * This,
            /* [in] */ VARIANT handler);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onDisplayTargetChange )( 
            IGoogleDesktopDisplayPluginHelper3 * This,
            /* [in] */ VARIANT handler);
        
        END_INTERFACE
    } IGoogleDesktopDisplayPluginHelper3Vtbl;

    interface IGoogleDesktopDisplayPluginHelper3
    {
        CONST_VTBL struct IGoogleDesktopDisplayPluginHelper3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopDisplayPluginHelper3_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopDisplayPluginHelper3_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopDisplayPluginHelper3_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopDisplayPluginHelper3_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IGoogleDesktopDisplayPluginHelper3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IGoogleDesktopDisplayPluginHelper3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IGoogleDesktopDisplayPluginHelper3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IGoogleDesktopDisplayPluginHelper3_put_title(This,title)	\
    (This)->lpVtbl -> put_title(This,title)

#define IGoogleDesktopDisplayPluginHelper3_SetFlags(This,plugin_flags,content_flags)	\
    (This)->lpVtbl -> SetFlags(This,plugin_flags,content_flags)

#define IGoogleDesktopDisplayPluginHelper3_SetIcons(This,small_icon,large_icon)	\
    (This)->lpVtbl -> SetIcons(This,small_icon,large_icon)

#define IGoogleDesktopDisplayPluginHelper3_put_about_text(This,about_text)	\
    (This)->lpVtbl -> put_about_text(This,about_text)

#define IGoogleDesktopDisplayPluginHelper3_AddContentItem(This,item,options)	\
    (This)->lpVtbl -> AddContentItem(This,item,options)

#define IGoogleDesktopDisplayPluginHelper3_RemoveContentItem(This,item)	\
    (This)->lpVtbl -> RemoveContentItem(This,item)

#define IGoogleDesktopDisplayPluginHelper3_RemoveAllContentItems(This)	\
    (This)->lpVtbl -> RemoveAllContentItems(This)

#define IGoogleDesktopDisplayPluginHelper3_get_content_items(This,items)	\
    (This)->lpVtbl -> get_content_items(This,items)

#define IGoogleDesktopDisplayPluginHelper3_put_content_items(This,items)	\
    (This)->lpVtbl -> put_content_items(This,items)

#define IGoogleDesktopDisplayPluginHelper3_get_max_content_items(This,max_items)	\
    (This)->lpVtbl -> get_max_content_items(This,max_items)

#define IGoogleDesktopDisplayPluginHelper3_put_max_content_items(This,max_items)	\
    (This)->lpVtbl -> put_max_content_items(This,max_items)


#define IGoogleDesktopDisplayPluginHelper3_get_window_width(This,width)	\
    (This)->lpVtbl -> get_window_width(This,width)

#define IGoogleDesktopDisplayPluginHelper3_get_window_height(This,height)	\
    (This)->lpVtbl -> get_window_height(This,height)

#define IGoogleDesktopDisplayPluginHelper3_get_pin_images(This,images)	\
    (This)->lpVtbl -> get_pin_images(This,images)

#define IGoogleDesktopDisplayPluginHelper3_put_pin_images(This,images)	\
    (This)->lpVtbl -> put_pin_images(This,images)

#define IGoogleDesktopDisplayPluginHelper3_put_onShowOptionsDlg(This,handler)	\
    (This)->lpVtbl -> put_onShowOptionsDlg(This,handler)

#define IGoogleDesktopDisplayPluginHelper3_put_onAddCustomMenuItems(This,handler)	\
    (This)->lpVtbl -> put_onAddCustomMenuItems(This,handler)

#define IGoogleDesktopDisplayPluginHelper3_put_onCommand(This,handler)	\
    (This)->lpVtbl -> put_onCommand(This,handler)

#define IGoogleDesktopDisplayPluginHelper3_put_onDisplayStateChange(This,handler)	\
    (This)->lpVtbl -> put_onDisplayStateChange(This,handler)


#define IGoogleDesktopDisplayPluginHelper3_put_onDisplayTargetChange(This,handler)	\
    (This)->lpVtbl -> put_onDisplayTargetChange(This,handler)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginHelper3_put_onDisplayTargetChange_Proxy( 
    IGoogleDesktopDisplayPluginHelper3 * This,
    /* [in] */ VARIANT handler);


void __RPC_STUB IGoogleDesktopDisplayPluginHelper3_put_onDisplayTargetChange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopDisplayPluginHelper3_INTERFACE_DEFINED__ */


#ifndef __IGoogleDesktopDisplayPluginHelper4_INTERFACE_DEFINED__
#define __IGoogleDesktopDisplayPluginHelper4_INTERFACE_DEFINED__

/* interface IGoogleDesktopDisplayPluginHelper4 */
/* [unique][dual][uuid][object] */ 


EXTERN_C const IID IID_IGoogleDesktopDisplayPluginHelper4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("712D5D30-8ACB-4366-AA61-745B3CA5B21C")
    IGoogleDesktopDisplayPluginHelper4 : public IGoogleDesktopDisplayPluginHelper3
    {
    public:
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_plugin_flags( 
            /* [in] */ GoogleDesktopDisplayPluginFlags plugin_flags) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_content_flags( 
            /* [in] */ GoogleDesktopDisplayContentFlags content_flags) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopDisplayPluginHelper4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopDisplayPluginHelper4 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopDisplayPluginHelper4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopDisplayPluginHelper4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGoogleDesktopDisplayPluginHelper4 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGoogleDesktopDisplayPluginHelper4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGoogleDesktopDisplayPluginHelper4 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGoogleDesktopDisplayPluginHelper4 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_title )( 
            IGoogleDesktopDisplayPluginHelper4 * This,
            /* [in] */ BSTR title);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetFlags )( 
            IGoogleDesktopDisplayPluginHelper4 * This,
            /* [in] */ GoogleDesktopDisplayPluginFlags plugin_flags,
            /* [in] */ GoogleDesktopDisplayContentFlags content_flags);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetIcons )( 
            IGoogleDesktopDisplayPluginHelper4 * This,
            /* [in] */ IPicture *small_icon,
            /* [in] */ IPicture *large_icon);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_about_text )( 
            IGoogleDesktopDisplayPluginHelper4 * This,
            /* [in] */ BSTR about_text);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddContentItem )( 
            IGoogleDesktopDisplayPluginHelper4 * This,
            /* [in] */ IUnknown *item,
            /* [in] */ GoogleDesktopContentItemDisplayOptions options);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RemoveContentItem )( 
            IGoogleDesktopDisplayPluginHelper4 * This,
            /* [in] */ IUnknown *item);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RemoveAllContentItems )( 
            IGoogleDesktopDisplayPluginHelper4 * This);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_content_items )( 
            IGoogleDesktopDisplayPluginHelper4 * This,
            /* [retval][out] */ VARIANT *items);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_content_items )( 
            IGoogleDesktopDisplayPluginHelper4 * This,
            /* [in] */ VARIANT items);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_max_content_items )( 
            IGoogleDesktopDisplayPluginHelper4 * This,
            /* [retval][out] */ long *max_items);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_max_content_items )( 
            IGoogleDesktopDisplayPluginHelper4 * This,
            /* [in] */ long max_items);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_window_width )( 
            IGoogleDesktopDisplayPluginHelper4 * This,
            /* [retval][out] */ long *width);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_window_height )( 
            IGoogleDesktopDisplayPluginHelper4 * This,
            /* [retval][out] */ long *height);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pin_images )( 
            IGoogleDesktopDisplayPluginHelper4 * This,
            /* [retval][out] */ VARIANT *images);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_pin_images )( 
            IGoogleDesktopDisplayPluginHelper4 * This,
            /* [in] */ VARIANT images);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onShowOptionsDlg )( 
            IGoogleDesktopDisplayPluginHelper4 * This,
            /* [in] */ VARIANT handler);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onAddCustomMenuItems )( 
            IGoogleDesktopDisplayPluginHelper4 * This,
            /* [in] */ VARIANT handler);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onCommand )( 
            IGoogleDesktopDisplayPluginHelper4 * This,
            /* [in] */ VARIANT handler);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onDisplayStateChange )( 
            IGoogleDesktopDisplayPluginHelper4 * This,
            /* [in] */ VARIANT handler);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onDisplayTargetChange )( 
            IGoogleDesktopDisplayPluginHelper4 * This,
            /* [in] */ VARIANT handler);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_plugin_flags )( 
            IGoogleDesktopDisplayPluginHelper4 * This,
            /* [in] */ GoogleDesktopDisplayPluginFlags plugin_flags);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_content_flags )( 
            IGoogleDesktopDisplayPluginHelper4 * This,
            /* [in] */ GoogleDesktopDisplayContentFlags content_flags);
        
        END_INTERFACE
    } IGoogleDesktopDisplayPluginHelper4Vtbl;

    interface IGoogleDesktopDisplayPluginHelper4
    {
        CONST_VTBL struct IGoogleDesktopDisplayPluginHelper4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopDisplayPluginHelper4_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopDisplayPluginHelper4_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopDisplayPluginHelper4_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopDisplayPluginHelper4_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IGoogleDesktopDisplayPluginHelper4_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IGoogleDesktopDisplayPluginHelper4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IGoogleDesktopDisplayPluginHelper4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IGoogleDesktopDisplayPluginHelper4_put_title(This,title)	\
    (This)->lpVtbl -> put_title(This,title)

#define IGoogleDesktopDisplayPluginHelper4_SetFlags(This,plugin_flags,content_flags)	\
    (This)->lpVtbl -> SetFlags(This,plugin_flags,content_flags)

#define IGoogleDesktopDisplayPluginHelper4_SetIcons(This,small_icon,large_icon)	\
    (This)->lpVtbl -> SetIcons(This,small_icon,large_icon)

#define IGoogleDesktopDisplayPluginHelper4_put_about_text(This,about_text)	\
    (This)->lpVtbl -> put_about_text(This,about_text)

#define IGoogleDesktopDisplayPluginHelper4_AddContentItem(This,item,options)	\
    (This)->lpVtbl -> AddContentItem(This,item,options)

#define IGoogleDesktopDisplayPluginHelper4_RemoveContentItem(This,item)	\
    (This)->lpVtbl -> RemoveContentItem(This,item)

#define IGoogleDesktopDisplayPluginHelper4_RemoveAllContentItems(This)	\
    (This)->lpVtbl -> RemoveAllContentItems(This)

#define IGoogleDesktopDisplayPluginHelper4_get_content_items(This,items)	\
    (This)->lpVtbl -> get_content_items(This,items)

#define IGoogleDesktopDisplayPluginHelper4_put_content_items(This,items)	\
    (This)->lpVtbl -> put_content_items(This,items)

#define IGoogleDesktopDisplayPluginHelper4_get_max_content_items(This,max_items)	\
    (This)->lpVtbl -> get_max_content_items(This,max_items)

#define IGoogleDesktopDisplayPluginHelper4_put_max_content_items(This,max_items)	\
    (This)->lpVtbl -> put_max_content_items(This,max_items)


#define IGoogleDesktopDisplayPluginHelper4_get_window_width(This,width)	\
    (This)->lpVtbl -> get_window_width(This,width)

#define IGoogleDesktopDisplayPluginHelper4_get_window_height(This,height)	\
    (This)->lpVtbl -> get_window_height(This,height)

#define IGoogleDesktopDisplayPluginHelper4_get_pin_images(This,images)	\
    (This)->lpVtbl -> get_pin_images(This,images)

#define IGoogleDesktopDisplayPluginHelper4_put_pin_images(This,images)	\
    (This)->lpVtbl -> put_pin_images(This,images)

#define IGoogleDesktopDisplayPluginHelper4_put_onShowOptionsDlg(This,handler)	\
    (This)->lpVtbl -> put_onShowOptionsDlg(This,handler)

#define IGoogleDesktopDisplayPluginHelper4_put_onAddCustomMenuItems(This,handler)	\
    (This)->lpVtbl -> put_onAddCustomMenuItems(This,handler)

#define IGoogleDesktopDisplayPluginHelper4_put_onCommand(This,handler)	\
    (This)->lpVtbl -> put_onCommand(This,handler)

#define IGoogleDesktopDisplayPluginHelper4_put_onDisplayStateChange(This,handler)	\
    (This)->lpVtbl -> put_onDisplayStateChange(This,handler)


#define IGoogleDesktopDisplayPluginHelper4_put_onDisplayTargetChange(This,handler)	\
    (This)->lpVtbl -> put_onDisplayTargetChange(This,handler)


#define IGoogleDesktopDisplayPluginHelper4_put_plugin_flags(This,plugin_flags)	\
    (This)->lpVtbl -> put_plugin_flags(This,plugin_flags)

#define IGoogleDesktopDisplayPluginHelper4_put_content_flags(This,content_flags)	\
    (This)->lpVtbl -> put_content_flags(This,content_flags)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginHelper4_put_plugin_flags_Proxy( 
    IGoogleDesktopDisplayPluginHelper4 * This,
    /* [in] */ GoogleDesktopDisplayPluginFlags plugin_flags);


void __RPC_STUB IGoogleDesktopDisplayPluginHelper4_put_plugin_flags_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginHelper4_put_content_flags_Proxy( 
    IGoogleDesktopDisplayPluginHelper4 * This,
    /* [in] */ GoogleDesktopDisplayContentFlags content_flags);


void __RPC_STUB IGoogleDesktopDisplayPluginHelper4_put_content_flags_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopDisplayPluginHelper4_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_GoogleDesktopDisplayAPI_0275 */
/* [local] */ 


enum __MIDL___MIDL_itf_GoogleDesktopDisplayAPI_0275_0001
    {	DISPID_GDD_DVH_SETCONTENT	= DISPID_GDD_DVH_START,
	DISPID_GDD_DVH_SETCONTENTFROMITEM	= DISPID_GDD_DVH_SETCONTENT + 1,
	DISPID_GDD_DVH_SETFRIENDINFO	= DISPID_GDD_DVH_SETCONTENTFROMITEM + 1,
	DISPID_GDD_DVH_HTMLCONTENT	= DISPID_GDD_DVH_SETFRIENDINFO + 1
    } ;
/* [helpstring][uuid] */ 
enum  DECLSPEC_UUID("8D5BE0FC-6761-4db4-A585-9B2BF68BACBA") GoogleDesktopSendToType
    {	GDD_SEND_TO_SIDEBAR	= 0,
	GDD_SEND_TO_IM	= GDD_SEND_TO_SIDEBAR + 1,
	GDD_SEND_TO_EMAIL	= GDD_SEND_TO_IM + 1
    } ;
typedef enum GoogleDesktopSendToType GoogleDesktopSendToType;



extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0275_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0275_v0_0_s_ifspec;

#ifndef __IGoogleDesktopDisplayDetailsViewHandler_INTERFACE_DEFINED__
#define __IGoogleDesktopDisplayDetailsViewHandler_INTERFACE_DEFINED__

/* interface IGoogleDesktopDisplayDetailsViewHandler */
/* [object][uuid] */ 


EXTERN_C const IID IID_IGoogleDesktopDisplayDetailsViewHandler;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("16B6BE37-A899-4946-9C01-A960B9FC4C47")
    IGoogleDesktopDisplayDetailsViewHandler : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE ProcessDetailsViewFeedback( 
            GoogleDesktopDisplayDetailsViewFlags flags) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopDisplayDetailsViewHandlerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopDisplayDetailsViewHandler * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopDisplayDetailsViewHandler * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopDisplayDetailsViewHandler * This);
        
        HRESULT ( STDMETHODCALLTYPE *ProcessDetailsViewFeedback )( 
            IGoogleDesktopDisplayDetailsViewHandler * This,
            GoogleDesktopDisplayDetailsViewFlags flags);
        
        END_INTERFACE
    } IGoogleDesktopDisplayDetailsViewHandlerVtbl;

    interface IGoogleDesktopDisplayDetailsViewHandler
    {
        CONST_VTBL struct IGoogleDesktopDisplayDetailsViewHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopDisplayDetailsViewHandler_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopDisplayDetailsViewHandler_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopDisplayDetailsViewHandler_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopDisplayDetailsViewHandler_ProcessDetailsViewFeedback(This,flags)	\
    (This)->lpVtbl -> ProcessDetailsViewFeedback(This,flags)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayDetailsViewHandler_ProcessDetailsViewFeedback_Proxy( 
    IGoogleDesktopDisplayDetailsViewHandler * This,
    GoogleDesktopDisplayDetailsViewFlags flags);


void __RPC_STUB IGoogleDesktopDisplayDetailsViewHandler_ProcessDetailsViewFeedback_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopDisplayDetailsViewHandler_INTERFACE_DEFINED__ */


#ifndef __IGoogleDesktopDisplayDetailsViewHandler2_INTERFACE_DEFINED__
#define __IGoogleDesktopDisplayDetailsViewHandler2_INTERFACE_DEFINED__

/* interface IGoogleDesktopDisplayDetailsViewHandler2 */
/* [object][uuid] */ 


EXTERN_C const IID IID_IGoogleDesktopDisplayDetailsViewHandler2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F331D352-E085-4496-92F2-754C5D71220C")
    IGoogleDesktopDisplayDetailsViewHandler2 : public IGoogleDesktopDisplayDetailsViewHandler
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SendItemToFriend( 
            /* [in] */ IGoogleDesktopTalkFriend *talk_friend,
            /* [in] */ GoogleDesktopSendToType type) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopDisplayDetailsViewHandler2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopDisplayDetailsViewHandler2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopDisplayDetailsViewHandler2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopDisplayDetailsViewHandler2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *ProcessDetailsViewFeedback )( 
            IGoogleDesktopDisplayDetailsViewHandler2 * This,
            GoogleDesktopDisplayDetailsViewFlags flags);
        
        HRESULT ( STDMETHODCALLTYPE *SendItemToFriend )( 
            IGoogleDesktopDisplayDetailsViewHandler2 * This,
            /* [in] */ IGoogleDesktopTalkFriend *talk_friend,
            /* [in] */ GoogleDesktopSendToType type);
        
        END_INTERFACE
    } IGoogleDesktopDisplayDetailsViewHandler2Vtbl;

    interface IGoogleDesktopDisplayDetailsViewHandler2
    {
        CONST_VTBL struct IGoogleDesktopDisplayDetailsViewHandler2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopDisplayDetailsViewHandler2_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopDisplayDetailsViewHandler2_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopDisplayDetailsViewHandler2_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopDisplayDetailsViewHandler2_ProcessDetailsViewFeedback(This,flags)	\
    (This)->lpVtbl -> ProcessDetailsViewFeedback(This,flags)


#define IGoogleDesktopDisplayDetailsViewHandler2_SendItemToFriend(This,talk_friend,type)	\
    (This)->lpVtbl -> SendItemToFriend(This,talk_friend,type)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayDetailsViewHandler2_SendItemToFriend_Proxy( 
    IGoogleDesktopDisplayDetailsViewHandler2 * This,
    /* [in] */ IGoogleDesktopTalkFriend *talk_friend,
    /* [in] */ GoogleDesktopSendToType type);


void __RPC_STUB IGoogleDesktopDisplayDetailsViewHandler2_SendItemToFriend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopDisplayDetailsViewHandler2_INTERFACE_DEFINED__ */


#ifndef __IGoogleDesktopDisplayDetailsViewHelper_INTERFACE_DEFINED__
#define __IGoogleDesktopDisplayDetailsViewHelper_INTERFACE_DEFINED__

/* interface IGoogleDesktopDisplayDetailsViewHelper */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_IGoogleDesktopDisplayDetailsViewHelper;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7DE4137F-B1DF-4786-AEA0-192EA48643C6")
    IGoogleDesktopDisplayDetailsViewHelper : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SetContent( 
            /* [in] */ BSTR source,
            /* [in] */ DATE time_created,
            /* [in] */ BSTR text,
            /* [in] */ VARIANT_BOOL time_absolute,
            /* [in] */ GoogleDesktopDisplayContentItemLayout content_layout) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SetContentFromItem( 
            /* [in] */ IUnknown *item) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopDisplayDetailsViewHelperVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopDisplayDetailsViewHelper * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopDisplayDetailsViewHelper * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopDisplayDetailsViewHelper * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGoogleDesktopDisplayDetailsViewHelper * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGoogleDesktopDisplayDetailsViewHelper * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGoogleDesktopDisplayDetailsViewHelper * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGoogleDesktopDisplayDetailsViewHelper * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetContent )( 
            IGoogleDesktopDisplayDetailsViewHelper * This,
            /* [in] */ BSTR source,
            /* [in] */ DATE time_created,
            /* [in] */ BSTR text,
            /* [in] */ VARIANT_BOOL time_absolute,
            /* [in] */ GoogleDesktopDisplayContentItemLayout content_layout);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetContentFromItem )( 
            IGoogleDesktopDisplayDetailsViewHelper * This,
            /* [in] */ IUnknown *item);
        
        END_INTERFACE
    } IGoogleDesktopDisplayDetailsViewHelperVtbl;

    interface IGoogleDesktopDisplayDetailsViewHelper
    {
        CONST_VTBL struct IGoogleDesktopDisplayDetailsViewHelperVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopDisplayDetailsViewHelper_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopDisplayDetailsViewHelper_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopDisplayDetailsViewHelper_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopDisplayDetailsViewHelper_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IGoogleDesktopDisplayDetailsViewHelper_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IGoogleDesktopDisplayDetailsViewHelper_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IGoogleDesktopDisplayDetailsViewHelper_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IGoogleDesktopDisplayDetailsViewHelper_SetContent(This,source,time_created,text,time_absolute,content_layout)	\
    (This)->lpVtbl -> SetContent(This,source,time_created,text,time_absolute,content_layout)

#define IGoogleDesktopDisplayDetailsViewHelper_SetContentFromItem(This,item)	\
    (This)->lpVtbl -> SetContentFromItem(This,item)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayDetailsViewHelper_SetContent_Proxy( 
    IGoogleDesktopDisplayDetailsViewHelper * This,
    /* [in] */ BSTR source,
    /* [in] */ DATE time_created,
    /* [in] */ BSTR text,
    /* [in] */ VARIANT_BOOL time_absolute,
    /* [in] */ GoogleDesktopDisplayContentItemLayout content_layout);


void __RPC_STUB IGoogleDesktopDisplayDetailsViewHelper_SetContent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayDetailsViewHelper_SetContentFromItem_Proxy( 
    IGoogleDesktopDisplayDetailsViewHelper * This,
    /* [in] */ IUnknown *item);


void __RPC_STUB IGoogleDesktopDisplayDetailsViewHelper_SetContentFromItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopDisplayDetailsViewHelper_INTERFACE_DEFINED__ */


#ifndef __IGoogleDesktopDisplayDetailsViewHelper2_INTERFACE_DEFINED__
#define __IGoogleDesktopDisplayDetailsViewHelper2_INTERFACE_DEFINED__

/* interface IGoogleDesktopDisplayDetailsViewHelper2 */
/* [object][unique][dual][uuid] */ 


EXTERN_C const IID IID_IGoogleDesktopDisplayDetailsViewHelper2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D58AC626-D718-4d5c-BE61-8A3339A2322D")
    IGoogleDesktopDisplayDetailsViewHelper2 : public IGoogleDesktopDisplayDetailsViewHelper
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SetFriendInfo( 
            /* [in] */ BSTR friend_name,
            /* [in] */ DATE time_received) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_html_content( 
            /* [in] */ VARIANT_BOOL is_html) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_html_content( 
            /* [retval][out] */ VARIANT_BOOL *is_html) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopDisplayDetailsViewHelper2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopDisplayDetailsViewHelper2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopDisplayDetailsViewHelper2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopDisplayDetailsViewHelper2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGoogleDesktopDisplayDetailsViewHelper2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGoogleDesktopDisplayDetailsViewHelper2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGoogleDesktopDisplayDetailsViewHelper2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGoogleDesktopDisplayDetailsViewHelper2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetContent )( 
            IGoogleDesktopDisplayDetailsViewHelper2 * This,
            /* [in] */ BSTR source,
            /* [in] */ DATE time_created,
            /* [in] */ BSTR text,
            /* [in] */ VARIANT_BOOL time_absolute,
            /* [in] */ GoogleDesktopDisplayContentItemLayout content_layout);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetContentFromItem )( 
            IGoogleDesktopDisplayDetailsViewHelper2 * This,
            /* [in] */ IUnknown *item);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetFriendInfo )( 
            IGoogleDesktopDisplayDetailsViewHelper2 * This,
            /* [in] */ BSTR friend_name,
            /* [in] */ DATE time_received);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_html_content )( 
            IGoogleDesktopDisplayDetailsViewHelper2 * This,
            /* [in] */ VARIANT_BOOL is_html);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_html_content )( 
            IGoogleDesktopDisplayDetailsViewHelper2 * This,
            /* [retval][out] */ VARIANT_BOOL *is_html);
        
        END_INTERFACE
    } IGoogleDesktopDisplayDetailsViewHelper2Vtbl;

    interface IGoogleDesktopDisplayDetailsViewHelper2
    {
        CONST_VTBL struct IGoogleDesktopDisplayDetailsViewHelper2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopDisplayDetailsViewHelper2_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopDisplayDetailsViewHelper2_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopDisplayDetailsViewHelper2_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopDisplayDetailsViewHelper2_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IGoogleDesktopDisplayDetailsViewHelper2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IGoogleDesktopDisplayDetailsViewHelper2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IGoogleDesktopDisplayDetailsViewHelper2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IGoogleDesktopDisplayDetailsViewHelper2_SetContent(This,source,time_created,text,time_absolute,content_layout)	\
    (This)->lpVtbl -> SetContent(This,source,time_created,text,time_absolute,content_layout)

#define IGoogleDesktopDisplayDetailsViewHelper2_SetContentFromItem(This,item)	\
    (This)->lpVtbl -> SetContentFromItem(This,item)


#define IGoogleDesktopDisplayDetailsViewHelper2_SetFriendInfo(This,friend_name,time_received)	\
    (This)->lpVtbl -> SetFriendInfo(This,friend_name,time_received)

#define IGoogleDesktopDisplayDetailsViewHelper2_put_html_content(This,is_html)	\
    (This)->lpVtbl -> put_html_content(This,is_html)

#define IGoogleDesktopDisplayDetailsViewHelper2_get_html_content(This,is_html)	\
    (This)->lpVtbl -> get_html_content(This,is_html)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayDetailsViewHelper2_SetFriendInfo_Proxy( 
    IGoogleDesktopDisplayDetailsViewHelper2 * This,
    /* [in] */ BSTR friend_name,
    /* [in] */ DATE time_received);


void __RPC_STUB IGoogleDesktopDisplayDetailsViewHelper2_SetFriendInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayDetailsViewHelper2_put_html_content_Proxy( 
    IGoogleDesktopDisplayDetailsViewHelper2 * This,
    /* [in] */ VARIANT_BOOL is_html);


void __RPC_STUB IGoogleDesktopDisplayDetailsViewHelper2_put_html_content_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayDetailsViewHelper2_get_html_content_Proxy( 
    IGoogleDesktopDisplayDetailsViewHelper2 * This,
    /* [retval][out] */ VARIANT_BOOL *is_html);


void __RPC_STUB IGoogleDesktopDisplayDetailsViewHelper2_get_html_content_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopDisplayDetailsViewHelper2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_GoogleDesktopDisplayAPI_0279 */
/* [local] */ 


enum __MIDL___MIDL_itf_GoogleDesktopDisplayAPI_0279_0001
    {	DISPID_GDD_NUI_ADD_NOTIFICATION	= DISPID_GDD_NOTIFY_UI_START,
	DISPID_GDD_NUI_ENABLED	= DISPID_GDD_NUI_ADD_NOTIFICATION + 1
    } ;


extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0279_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0279_v0_0_s_ifspec;

#ifndef __IGoogleDesktopDisplayNotifier_INTERFACE_DEFINED__
#define __IGoogleDesktopDisplayNotifier_INTERFACE_DEFINED__

/* interface IGoogleDesktopDisplayNotifier */
/* [unique][dual][uuid][object] */ 


EXTERN_C const IID IID_IGoogleDesktopDisplayNotifier;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BBF09E2A-4E2A-4377-A4A7-980CC55F140B")
    IGoogleDesktopDisplayNotifier : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddNotification( 
            /* [in] */ VARIANT component_clsid,
            /* [in] */ IUnknown *item,
            /* [retval][out] */ VARIANT_BOOL *added) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_enabled( 
            /* [retval][out] */ VARIANT_BOOL *enabled) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_enabled( 
            /* [in] */ VARIANT_BOOL enabled) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopDisplayNotifierVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopDisplayNotifier * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopDisplayNotifier * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopDisplayNotifier * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGoogleDesktopDisplayNotifier * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGoogleDesktopDisplayNotifier * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGoogleDesktopDisplayNotifier * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGoogleDesktopDisplayNotifier * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddNotification )( 
            IGoogleDesktopDisplayNotifier * This,
            /* [in] */ VARIANT component_clsid,
            /* [in] */ IUnknown *item,
            /* [retval][out] */ VARIANT_BOOL *added);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_enabled )( 
            IGoogleDesktopDisplayNotifier * This,
            /* [retval][out] */ VARIANT_BOOL *enabled);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_enabled )( 
            IGoogleDesktopDisplayNotifier * This,
            /* [in] */ VARIANT_BOOL enabled);
        
        END_INTERFACE
    } IGoogleDesktopDisplayNotifierVtbl;

    interface IGoogleDesktopDisplayNotifier
    {
        CONST_VTBL struct IGoogleDesktopDisplayNotifierVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopDisplayNotifier_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopDisplayNotifier_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopDisplayNotifier_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopDisplayNotifier_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IGoogleDesktopDisplayNotifier_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IGoogleDesktopDisplayNotifier_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IGoogleDesktopDisplayNotifier_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IGoogleDesktopDisplayNotifier_AddNotification(This,component_clsid,item,added)	\
    (This)->lpVtbl -> AddNotification(This,component_clsid,item,added)

#define IGoogleDesktopDisplayNotifier_get_enabled(This,enabled)	\
    (This)->lpVtbl -> get_enabled(This,enabled)

#define IGoogleDesktopDisplayNotifier_put_enabled(This,enabled)	\
    (This)->lpVtbl -> put_enabled(This,enabled)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayNotifier_AddNotification_Proxy( 
    IGoogleDesktopDisplayNotifier * This,
    /* [in] */ VARIANT component_clsid,
    /* [in] */ IUnknown *item,
    /* [retval][out] */ VARIANT_BOOL *added);


void __RPC_STUB IGoogleDesktopDisplayNotifier_AddNotification_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayNotifier_get_enabled_Proxy( 
    IGoogleDesktopDisplayNotifier * This,
    /* [retval][out] */ VARIANT_BOOL *enabled);


void __RPC_STUB IGoogleDesktopDisplayNotifier_get_enabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayNotifier_put_enabled_Proxy( 
    IGoogleDesktopDisplayNotifier * This,
    /* [in] */ VARIANT_BOOL enabled);


void __RPC_STUB IGoogleDesktopDisplayNotifier_put_enabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopDisplayNotifier_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_GoogleDesktopDisplayAPI_0280 */
/* [local] */ 


enum __MIDL___MIDL_itf_GoogleDesktopDisplayAPI_0280_0001
    {	DISPID_GDD_WND_CTRL_ID	= DISPID_GDD_WND_CTRL_START,
	DISPID_GDD_WND_CTRL_ENABLED	= DISPID_GDD_WND_CTRL_ID + 1,
	DISPID_GDD_WND_CTRL_X	= DISPID_GDD_WND_CTRL_ENABLED + 1,
	DISPID_GDD_WND_CTRL_Y	= DISPID_GDD_WND_CTRL_X + 1,
	DISPID_GDD_WND_CTRL_WIDTH	= DISPID_GDD_WND_CTRL_Y + 1,
	DISPID_GDD_WND_CTRL_HEIGHT	= DISPID_GDD_WND_CTRL_WIDTH + 1,
	DISPID_GDD_WND_CTRL_TEXT	= DISPID_GDD_WND_CTRL_HEIGHT + 1,
	DISPID_GDD_WND_CTRL_VALUE	= DISPID_GDD_WND_CTRL_TEXT + 1,
	DISPID_GDD_WND_CTRL_ON_CHANGED	= DISPID_GDD_WND_CTRL_VALUE + 1,
	DISPID_GDD_WND_CTRL_ON_CLICKED	= DISPID_GDD_WND_CTRL_ON_CHANGED + 1
    } ;


extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0280_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0280_v0_0_s_ifspec;

#ifndef __IGoogleDesktopDisplayWindowControl_INTERFACE_DEFINED__
#define __IGoogleDesktopDisplayWindowControl_INTERFACE_DEFINED__

/* interface IGoogleDesktopDisplayWindowControl */
/* [unique][dual][uuid][object] */ 


EXTERN_C const IID IID_IGoogleDesktopDisplayWindowControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("19CFBC40-9AF2-4f90-A5E3-1FEFC05403D7")
    IGoogleDesktopDisplayWindowControl : public IDispatch
    {
    public:
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_id( 
            /* [retval][out] */ BSTR *val) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_id( 
            /* [in] */ BSTR val) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_enabled( 
            /* [in] */ VARIANT_BOOL val) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_enabled( 
            /* [retval][out] */ VARIANT_BOOL *val) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_text( 
            /* [in] */ VARIANT val) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_text( 
            /* [retval][out] */ VARIANT *val) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_value( 
            /* [in] */ VARIANT val) = 0;
        
        virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_value( 
            /* [retval][out] */ VARIANT *val) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_x( 
            /* [in] */ long val) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_y( 
            /* [in] */ long val) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_width( 
            /* [in] */ long val) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_height( 
            /* [in] */ long val) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_onChanged( 
            /* [in] */ VARIANT handler) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_onClicked( 
            /* [in] */ VARIANT handler) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopDisplayWindowControlVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopDisplayWindowControl * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopDisplayWindowControl * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopDisplayWindowControl * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGoogleDesktopDisplayWindowControl * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGoogleDesktopDisplayWindowControl * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGoogleDesktopDisplayWindowControl * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGoogleDesktopDisplayWindowControl * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_id )( 
            IGoogleDesktopDisplayWindowControl * This,
            /* [retval][out] */ BSTR *val);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_id )( 
            IGoogleDesktopDisplayWindowControl * This,
            /* [in] */ BSTR val);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_enabled )( 
            IGoogleDesktopDisplayWindowControl * This,
            /* [in] */ VARIANT_BOOL val);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_enabled )( 
            IGoogleDesktopDisplayWindowControl * This,
            /* [retval][out] */ VARIANT_BOOL *val);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_text )( 
            IGoogleDesktopDisplayWindowControl * This,
            /* [in] */ VARIANT val);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_text )( 
            IGoogleDesktopDisplayWindowControl * This,
            /* [retval][out] */ VARIANT *val);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_value )( 
            IGoogleDesktopDisplayWindowControl * This,
            /* [in] */ VARIANT val);
        
        /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 
            IGoogleDesktopDisplayWindowControl * This,
            /* [retval][out] */ VARIANT *val);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_x )( 
            IGoogleDesktopDisplayWindowControl * This,
            /* [in] */ long val);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_y )( 
            IGoogleDesktopDisplayWindowControl * This,
            /* [in] */ long val);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_width )( 
            IGoogleDesktopDisplayWindowControl * This,
            /* [in] */ long val);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_height )( 
            IGoogleDesktopDisplayWindowControl * This,
            /* [in] */ long val);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onChanged )( 
            IGoogleDesktopDisplayWindowControl * This,
            /* [in] */ VARIANT handler);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onClicked )( 
            IGoogleDesktopDisplayWindowControl * This,
            /* [in] */ VARIANT handler);
        
        END_INTERFACE
    } IGoogleDesktopDisplayWindowControlVtbl;

    interface IGoogleDesktopDisplayWindowControl
    {
        CONST_VTBL struct IGoogleDesktopDisplayWindowControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopDisplayWindowControl_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopDisplayWindowControl_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopDisplayWindowControl_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopDisplayWindowControl_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IGoogleDesktopDisplayWindowControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IGoogleDesktopDisplayWindowControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IGoogleDesktopDisplayWindowControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IGoogleDesktopDisplayWindowControl_get_id(This,val)	\
    (This)->lpVtbl -> get_id(This,val)

#define IGoogleDesktopDisplayWindowControl_put_id(This,val)	\
    (This)->lpVtbl -> put_id(This,val)

#define IGoogleDesktopDisplayWindowControl_put_enabled(This,val)	\
    (This)->lpVtbl -> put_enabled(This,val)

#define IGoogleDesktopDisplayWindowControl_get_enabled(This,val)	\
    (This)->lpVtbl -> get_enabled(This,val)

#define IGoogleDesktopDisplayWindowControl_put_text(This,val)	\
    (This)->lpVtbl -> put_text(This,val)

#define IGoogleDesktopDisplayWindowControl_get_text(This,val)	\
    (This)->lpVtbl -> get_text(This,val)

#define IGoogleDesktopDisplayWindowControl_put_value(This,val)	\
    (This)->lpVtbl -> put_value(This,val)

#define IGoogleDesktopDisplayWindowControl_get_value(This,val)	\
    (This)->lpVtbl -> get_value(This,val)

#define IGoogleDesktopDisplayWindowControl_put_x(This,val)	\
    (This)->lpVtbl -> put_x(This,val)

#define IGoogleDesktopDisplayWindowControl_put_y(This,val)	\
    (This)->lpVtbl -> put_y(This,val)

#define IGoogleDesktopDisplayWindowControl_put_width(This,val)	\
    (This)->lpVtbl -> put_width(This,val)

#define IGoogleDesktopDisplayWindowControl_put_height(This,val)	\
    (This)->lpVtbl -> put_height(This,val)

#define IGoogleDesktopDisplayWindowControl_put_onChanged(This,handler)	\
    (This)->lpVtbl -> put_onChanged(This,handler)

#define IGoogleDesktopDisplayWindowControl_put_onClicked(This,handler)	\
    (This)->lpVtbl -> put_onClicked(This,handler)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayWindowControl_get_id_Proxy( 
    IGoogleDesktopDisplayWindowControl * This,
    /* [retval][out] */ BSTR *val);


void __RPC_STUB IGoogleDesktopDisplayWindowControl_get_id_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayWindowControl_put_id_Proxy( 
    IGoogleDesktopDisplayWindowControl * This,
    /* [in] */ BSTR val);


void __RPC_STUB IGoogleDesktopDisplayWindowControl_put_id_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayWindowControl_put_enabled_Proxy( 
    IGoogleDesktopDisplayWindowControl * This,
    /* [in] */ VARIANT_BOOL val);


void __RPC_STUB IGoogleDesktopDisplayWindowControl_put_enabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayWindowControl_get_enabled_Proxy( 
    IGoogleDesktopDisplayWindowControl * This,
    /* [retval][out] */ VARIANT_BOOL *val);


void __RPC_STUB IGoogleDesktopDisplayWindowControl_get_enabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayWindowControl_put_text_Proxy( 
    IGoogleDesktopDisplayWindowControl * This,
    /* [in] */ VARIANT val);


void __RPC_STUB IGoogleDesktopDisplayWindowControl_put_text_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayWindowControl_get_text_Proxy( 
    IGoogleDesktopDisplayWindowControl * This,
    /* [retval][out] */ VARIANT *val);


void __RPC_STUB IGoogleDesktopDisplayWindowControl_get_text_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayWindowControl_put_value_Proxy( 
    IGoogleDesktopDisplayWindowControl * This,
    /* [in] */ VARIANT val);


void __RPC_STUB IGoogleDesktopDisplayWindowControl_put_value_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propget] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayWindowControl_get_value_Proxy( 
    IGoogleDesktopDisplayWindowControl * This,
    /* [retval][out] */ VARIANT *val);


void __RPC_STUB IGoogleDesktopDisplayWindowControl_get_value_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayWindowControl_put_x_Proxy( 
    IGoogleDesktopDisplayWindowControl * This,
    /* [in] */ long val);


void __RPC_STUB IGoogleDesktopDisplayWindowControl_put_x_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayWindowControl_put_y_Proxy( 
    IGoogleDesktopDisplayWindowControl * This,
    /* [in] */ long val);


void __RPC_STUB IGoogleDesktopDisplayWindowControl_put_y_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayWindowControl_put_width_Proxy( 
    IGoogleDesktopDisplayWindowControl * This,
    /* [in] */ long val);


void __RPC_STUB IGoogleDesktopDisplayWindowControl_put_width_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayWindowControl_put_height_Proxy( 
    IGoogleDesktopDisplayWindowControl * This,
    /* [in] */ long val);


void __RPC_STUB IGoogleDesktopDisplayWindowControl_put_height_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayWindowControl_put_onChanged_Proxy( 
    IGoogleDesktopDisplayWindowControl * This,
    /* [in] */ VARIANT handler);


void __RPC_STUB IGoogleDesktopDisplayWindowControl_put_onChanged_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayWindowControl_put_onClicked_Proxy( 
    IGoogleDesktopDisplayWindowControl * This,
    /* [in] */ VARIANT handler);


void __RPC_STUB IGoogleDesktopDisplayWindowControl_put_onClicked_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopDisplayWindowControl_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_GoogleDesktopDisplayAPI_0281 */
/* [local] */ 


enum __MIDL___MIDL_itf_GoogleDesktopDisplayAPI_0281_0001
    {	DISPID_GDD_WND_GETCONTROL	= DISPID_GDD_WND_START,
	DISPID_GDD_WND_ADDCONTROL	= DISPID_GDD_WND_GETCONTROL + 1,
	DISPID_GDD_WND_ON_CLOSE	= DISPID_GDD_WND_ADDCONTROL + 1
    } ;


extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0281_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0281_v0_0_s_ifspec;

#ifndef __IGoogleDesktopDisplayWindow_INTERFACE_DEFINED__
#define __IGoogleDesktopDisplayWindow_INTERFACE_DEFINED__

/* interface IGoogleDesktopDisplayWindow */
/* [unique][dual][uuid][object] */ 


EXTERN_C const IID IID_IGoogleDesktopDisplayWindow;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("225C3090-A83E-446a-A230-3E653D3F5837")
    IGoogleDesktopDisplayWindow : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddControl( 
            /* [in] */ GoogleDesktopDisplayWindowControlClass ctrl_class,
            /* [in] */ GoogleDesktopDisplayWindowControlType ctrl_type,
            /* [in] */ BSTR ctrl_id,
            /* [in] */ VARIANT text,
            /* [in] */ long x,
            /* [in] */ long y,
            /* [in] */ long width,
            /* [in] */ long height,
            /* [retval][out] */ IGoogleDesktopDisplayWindowControl **ctrl) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetControl( 
            /* [in] */ BSTR ctrl_id,
            /* [retval][out] */ IGoogleDesktopDisplayWindowControl **ctrl) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_onClose( 
            /* [in] */ VARIANT handler) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopDisplayWindowVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopDisplayWindow * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopDisplayWindow * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopDisplayWindow * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGoogleDesktopDisplayWindow * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGoogleDesktopDisplayWindow * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGoogleDesktopDisplayWindow * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGoogleDesktopDisplayWindow * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddControl )( 
            IGoogleDesktopDisplayWindow * This,
            /* [in] */ GoogleDesktopDisplayWindowControlClass ctrl_class,
            /* [in] */ GoogleDesktopDisplayWindowControlType ctrl_type,
            /* [in] */ BSTR ctrl_id,
            /* [in] */ VARIANT text,
            /* [in] */ long x,
            /* [in] */ long y,
            /* [in] */ long width,
            /* [in] */ long height,
            /* [retval][out] */ IGoogleDesktopDisplayWindowControl **ctrl);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetControl )( 
            IGoogleDesktopDisplayWindow * This,
            /* [in] */ BSTR ctrl_id,
            /* [retval][out] */ IGoogleDesktopDisplayWindowControl **ctrl);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_onClose )( 
            IGoogleDesktopDisplayWindow * This,
            /* [in] */ VARIANT handler);
        
        END_INTERFACE
    } IGoogleDesktopDisplayWindowVtbl;

    interface IGoogleDesktopDisplayWindow
    {
        CONST_VTBL struct IGoogleDesktopDisplayWindowVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopDisplayWindow_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopDisplayWindow_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopDisplayWindow_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopDisplayWindow_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IGoogleDesktopDisplayWindow_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IGoogleDesktopDisplayWindow_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IGoogleDesktopDisplayWindow_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IGoogleDesktopDisplayWindow_AddControl(This,ctrl_class,ctrl_type,ctrl_id,text,x,y,width,height,ctrl)	\
    (This)->lpVtbl -> AddControl(This,ctrl_class,ctrl_type,ctrl_id,text,x,y,width,height,ctrl)

#define IGoogleDesktopDisplayWindow_GetControl(This,ctrl_id,ctrl)	\
    (This)->lpVtbl -> GetControl(This,ctrl_id,ctrl)

#define IGoogleDesktopDisplayWindow_put_onClose(This,handler)	\
    (This)->lpVtbl -> put_onClose(This,handler)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayWindow_AddControl_Proxy( 
    IGoogleDesktopDisplayWindow * This,
    /* [in] */ GoogleDesktopDisplayWindowControlClass ctrl_class,
    /* [in] */ GoogleDesktopDisplayWindowControlType ctrl_type,
    /* [in] */ BSTR ctrl_id,
    /* [in] */ VARIANT text,
    /* [in] */ long x,
    /* [in] */ long y,
    /* [in] */ long width,
    /* [in] */ long height,
    /* [retval][out] */ IGoogleDesktopDisplayWindowControl **ctrl);


void __RPC_STUB IGoogleDesktopDisplayWindow_AddControl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayWindow_GetControl_Proxy( 
    IGoogleDesktopDisplayWindow * This,
    /* [in] */ BSTR ctrl_id,
    /* [retval][out] */ IGoogleDesktopDisplayWindowControl **ctrl);


void __RPC_STUB IGoogleDesktopDisplayWindow_GetControl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayWindow_put_onClose_Proxy( 
    IGoogleDesktopDisplayWindow * This,
    /* [in] */ VARIANT handler);


void __RPC_STUB IGoogleDesktopDisplayWindow_put_onClose_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopDisplayWindow_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_GoogleDesktopDisplayAPI_0282 */
/* [local] */ 


enum __MIDL___MIDL_itf_GoogleDesktopDisplayAPI_0282_0001
    {	DISPID_GDD_MENU_ADD_ITEM	= DISPID_GDD_MENU_START,
	DISPID_GDD_MENU_SET_ITEM_STYLE	= DISPID_GDD_MENU_ADD_ITEM + 1,
	DISPID_GDD_MENU_ADD_POPUP	= DISPID_GDD_MENU_SET_ITEM_STYLE + 1
    } ;


extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0282_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0282_v0_0_s_ifspec;

#ifndef __IGoogleDesktopDisplayMenu_INTERFACE_DEFINED__
#define __IGoogleDesktopDisplayMenu_INTERFACE_DEFINED__

/* interface IGoogleDesktopDisplayMenu */
/* [unique][dual][uuid][object] */ 


EXTERN_C const IID IID_IGoogleDesktopDisplayMenu;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7B015F1A-B3C2-4c95-9186-A1ED218AB78F")
    IGoogleDesktopDisplayMenu : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddItem( 
            BSTR item_text,
            long style,
            VARIANT handler) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SetItemStyle( 
            BSTR item_text,
            long style) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddPopup( 
            BSTR item_text,
            /* [retval][out] */ IDispatch **popup) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopDisplayMenuVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopDisplayMenu * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopDisplayMenu * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopDisplayMenu * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGoogleDesktopDisplayMenu * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGoogleDesktopDisplayMenu * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGoogleDesktopDisplayMenu * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGoogleDesktopDisplayMenu * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddItem )( 
            IGoogleDesktopDisplayMenu * This,
            BSTR item_text,
            long style,
            VARIANT handler);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetItemStyle )( 
            IGoogleDesktopDisplayMenu * This,
            BSTR item_text,
            long style);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddPopup )( 
            IGoogleDesktopDisplayMenu * This,
            BSTR item_text,
            /* [retval][out] */ IDispatch **popup);
        
        END_INTERFACE
    } IGoogleDesktopDisplayMenuVtbl;

    interface IGoogleDesktopDisplayMenu
    {
        CONST_VTBL struct IGoogleDesktopDisplayMenuVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopDisplayMenu_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopDisplayMenu_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopDisplayMenu_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopDisplayMenu_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IGoogleDesktopDisplayMenu_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IGoogleDesktopDisplayMenu_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IGoogleDesktopDisplayMenu_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IGoogleDesktopDisplayMenu_AddItem(This,item_text,style,handler)	\
    (This)->lpVtbl -> AddItem(This,item_text,style,handler)

#define IGoogleDesktopDisplayMenu_SetItemStyle(This,item_text,style)	\
    (This)->lpVtbl -> SetItemStyle(This,item_text,style)

#define IGoogleDesktopDisplayMenu_AddPopup(This,item_text,popup)	\
    (This)->lpVtbl -> AddPopup(This,item_text,popup)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayMenu_AddItem_Proxy( 
    IGoogleDesktopDisplayMenu * This,
    BSTR item_text,
    long style,
    VARIANT handler);


void __RPC_STUB IGoogleDesktopDisplayMenu_AddItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayMenu_SetItemStyle_Proxy( 
    IGoogleDesktopDisplayMenu * This,
    BSTR item_text,
    long style);


void __RPC_STUB IGoogleDesktopDisplayMenu_SetItemStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayMenu_AddPopup_Proxy( 
    IGoogleDesktopDisplayMenu * This,
    BSTR item_text,
    /* [retval][out] */ IDispatch **popup);


void __RPC_STUB IGoogleDesktopDisplayMenu_AddPopup_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopDisplayMenu_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_GoogleDesktopDisplayAPI_0283 */
/* [local] */ 


enum __MIDL___MIDL_itf_GoogleDesktopDisplayAPI_0283_0001
    {	DISPID_GDD_OPTIONS_GET_VALUE	= DISPID_GDD_OPTIONS_START,
	DISPID_GDD_OPTIONS_PUT_VALUE	= DISPID_GDD_OPTIONS_GET_VALUE + 1,
	DISPID_GDD_OPTIONS_CLEAR	= DISPID_GDD_OPTIONS_PUT_VALUE + 1
    } ;


extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0283_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0283_v0_0_s_ifspec;

#ifndef __IGoogleDesktopDisplayOptions_INTERFACE_DEFINED__
#define __IGoogleDesktopDisplayOptions_INTERFACE_DEFINED__

/* interface IGoogleDesktopDisplayOptions */
/* [unique][dual][uuid][object] */ 


EXTERN_C const IID IID_IGoogleDesktopDisplayOptions;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4F7B07A2-2D63-4520-899E-1F71B5957F3B")
    IGoogleDesktopDisplayOptions : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetValue( 
            /* [in] */ BSTR text,
            /* [retval][out] */ VARIANT *value) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE PutValue( 
            /* [in] */ BSTR text,
            /* [in] */ VARIANT value) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopDisplayOptionsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopDisplayOptions * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopDisplayOptions * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopDisplayOptions * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGoogleDesktopDisplayOptions * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGoogleDesktopDisplayOptions * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGoogleDesktopDisplayOptions * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGoogleDesktopDisplayOptions * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetValue )( 
            IGoogleDesktopDisplayOptions * This,
            /* [in] */ BSTR text,
            /* [retval][out] */ VARIANT *value);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *PutValue )( 
            IGoogleDesktopDisplayOptions * This,
            /* [in] */ BSTR text,
            /* [in] */ VARIANT value);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IGoogleDesktopDisplayOptions * This);
        
        END_INTERFACE
    } IGoogleDesktopDisplayOptionsVtbl;

    interface IGoogleDesktopDisplayOptions
    {
        CONST_VTBL struct IGoogleDesktopDisplayOptionsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopDisplayOptions_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopDisplayOptions_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopDisplayOptions_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopDisplayOptions_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IGoogleDesktopDisplayOptions_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IGoogleDesktopDisplayOptions_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IGoogleDesktopDisplayOptions_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IGoogleDesktopDisplayOptions_GetValue(This,text,value)	\
    (This)->lpVtbl -> GetValue(This,text,value)

#define IGoogleDesktopDisplayOptions_PutValue(This,text,value)	\
    (This)->lpVtbl -> PutValue(This,text,value)

#define IGoogleDesktopDisplayOptions_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayOptions_GetValue_Proxy( 
    IGoogleDesktopDisplayOptions * This,
    /* [in] */ BSTR text,
    /* [retval][out] */ VARIANT *value);


void __RPC_STUB IGoogleDesktopDisplayOptions_GetValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayOptions_PutValue_Proxy( 
    IGoogleDesktopDisplayOptions * This,
    /* [in] */ BSTR text,
    /* [in] */ VARIANT value);


void __RPC_STUB IGoogleDesktopDisplayOptions_PutValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayOptions_Clear_Proxy( 
    IGoogleDesktopDisplayOptions * This);


void __RPC_STUB IGoogleDesktopDisplayOptions_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopDisplayOptions_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_GoogleDesktopDisplayAPI_0284 */
/* [local] */ 


enum __MIDL___MIDL_itf_GoogleDesktopDisplayAPI_0284_0001
    {	DISPID_GDD_STORAGE_INIT	= DISPID_GDD_STORAGE_START,
	DISPID_GDD_STORAGE_TO_SYNC	= DISPID_GDD_STORAGE_INIT + 1,
	DISPID_GDD_STORAGE_GET_VALUE	= DISPID_GDD_STORAGE_TO_SYNC + 1,
	DISPID_GDD_STORAGE_GET_IS_LOCAL_ONLY	= DISPID_GDD_STORAGE_GET_VALUE + 1,
	DISPID_GDD_STORAGE_PUT_VALUE	= DISPID_GDD_STORAGE_GET_IS_LOCAL_ONLY + 1,
	DISPID_GDD_STORAGE_PUT_LOCAL_VALUE	= DISPID_GDD_STORAGE_PUT_VALUE + 1,
	DISPID_GDD_STORAGE_REMOVE_ITEM	= DISPID_GDD_STORAGE_PUT_LOCAL_VALUE + 1,
	DISPID_GDD_STORAGE_CLEAR	= DISPID_GDD_STORAGE_REMOVE_ITEM + 1,
	DISPID_GDD_STORAGE_COPY	= DISPID_GDD_STORAGE_CLEAR + 1,
	DISPID_GDD_STORAGE_IS_EMPTY	= DISPID_GDD_STORAGE_COPY + 1,
	DISPID_GDD_STORAGE_LOAD	= DISPID_GDD_STORAGE_IS_EMPTY + 1,
	DISPID_GDD_STORAGE_SAVE	= DISPID_GDD_STORAGE_LOAD + 1,
	DISPID_GDD_STORAGE_ENCODE_IDENTIFIER	= DISPID_GDD_STORAGE_SAVE + 1,
	DISPID_GDD_STORAGE_DECODE_IDENTIFIER	= DISPID_GDD_STORAGE_ENCODE_IDENTIFIER + 1,
	DISPID_GDD_STORAGE_GET_EVENT_FROM_SSDITEM	= DISPID_GDD_STORAGE_DECODE_IDENTIFIER + 1,
	DISPID_GDD_STORAGE_DECODE_EVENT	= DISPID_GDD_STORAGE_GET_EVENT_FROM_SSDITEM + 1,
	DISPID_GDD_STORAGE_COMPARE_ENCODE	= DISPID_GDD_STORAGE_DECODE_EVENT + 1,
	DISPID_GDD_STORAGE_COMPARE_DECODE	= DISPID_GDD_STORAGE_COMPARE_ENCODE + 1,
	DISPID_GDD_STORAGE_RESOLVE_UPDATE	= DISPID_GDD_STORAGE_COMPARE_DECODE + 1
    } ;


extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0284_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0284_v0_0_s_ifspec;

#ifndef __IGoogleDesktopSmallStorage_INTERFACE_DEFINED__
#define __IGoogleDesktopSmallStorage_INTERFACE_DEFINED__

/* interface IGoogleDesktopSmallStorage */
/* [unique][dual][uuid][object] */ 


EXTERN_C const IID IID_IGoogleDesktopSmallStorage;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("99E759C2-A9B9-4a98-A3ED-52D3DF9A6F03")
    IGoogleDesktopSmallStorage : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Init( 
            /* [in] */ const byte *ssd_identifier,
            /* [in] */ long identifier_size) = 0;
        
        virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_to_synchronize( 
            /* [in] */ VARIANT_BOOL to_sync) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetValue( 
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT *value) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetIsLocalOnly( 
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT_BOOL *local_only) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE PutValue( 
            /* [in] */ BSTR name,
            /* [in] */ VARIANT value) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE PutLocalValue( 
            /* [in] */ BSTR name,
            /* [in] */ VARIANT value) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE RemoveItem( 
            /* [in] */ BSTR name) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Copy( 
            IGoogleDesktopSmallStorage *source) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE IsEmpty( 
            /* [retval][out] */ VARIANT_BOOL *is_empty) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE CompareAndEncodeIntoSsdEvents( 
            /* [in] */ IGoogleDesktopSmallStorage *new_storage,
            /* [in] */ IUnknown *add_items,
            /* [in] */ IUnknown *del_items) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetEventFromSsdItem( 
            /* [in] */ IUnknown *item,
            /* [out] */ long *action_type,
            /* [out] */ BSTR *ssd_item_id,
            /* [out] */ SAFEARRAY * *event_data,
            /* [out] */ long *event_data_size) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE DecodeSsdEvent( 
            /* [in] */ long action_type,
            /* [in] */ BSTR ssd_item_id,
            /* [in] */ const byte *event_data,
            /* [in] */ long event_data_size,
            /* [out] */ VARIANT_BOOL *taken) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ResolveEventsAndUpdateItems( 
            VARIANT_BOOL *has_changes) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopSmallStorageVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopSmallStorage * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopSmallStorage * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopSmallStorage * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGoogleDesktopSmallStorage * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGoogleDesktopSmallStorage * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGoogleDesktopSmallStorage * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGoogleDesktopSmallStorage * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Init )( 
            IGoogleDesktopSmallStorage * This,
            /* [in] */ const byte *ssd_identifier,
            /* [in] */ long identifier_size);
        
        /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_to_synchronize )( 
            IGoogleDesktopSmallStorage * This,
            /* [in] */ VARIANT_BOOL to_sync);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetValue )( 
            IGoogleDesktopSmallStorage * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT *value);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetIsLocalOnly )( 
            IGoogleDesktopSmallStorage * This,
            /* [in] */ BSTR name,
            /* [retval][out] */ VARIANT_BOOL *local_only);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *PutValue )( 
            IGoogleDesktopSmallStorage * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT value);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *PutLocalValue )( 
            IGoogleDesktopSmallStorage * This,
            /* [in] */ BSTR name,
            /* [in] */ VARIANT value);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RemoveItem )( 
            IGoogleDesktopSmallStorage * This,
            /* [in] */ BSTR name);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IGoogleDesktopSmallStorage * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IGoogleDesktopSmallStorage * This,
            IGoogleDesktopSmallStorage *source);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *IsEmpty )( 
            IGoogleDesktopSmallStorage * This,
            /* [retval][out] */ VARIANT_BOOL *is_empty);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *CompareAndEncodeIntoSsdEvents )( 
            IGoogleDesktopSmallStorage * This,
            /* [in] */ IGoogleDesktopSmallStorage *new_storage,
            /* [in] */ IUnknown *add_items,
            /* [in] */ IUnknown *del_items);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetEventFromSsdItem )( 
            IGoogleDesktopSmallStorage * This,
            /* [in] */ IUnknown *item,
            /* [out] */ long *action_type,
            /* [out] */ BSTR *ssd_item_id,
            /* [out] */ SAFEARRAY * *event_data,
            /* [out] */ long *event_data_size);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *DecodeSsdEvent )( 
            IGoogleDesktopSmallStorage * This,
            /* [in] */ long action_type,
            /* [in] */ BSTR ssd_item_id,
            /* [in] */ const byte *event_data,
            /* [in] */ long event_data_size,
            /* [out] */ VARIANT_BOOL *taken);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ResolveEventsAndUpdateItems )( 
            IGoogleDesktopSmallStorage * This,
            VARIANT_BOOL *has_changes);
        
        END_INTERFACE
    } IGoogleDesktopSmallStorageVtbl;

    interface IGoogleDesktopSmallStorage
    {
        CONST_VTBL struct IGoogleDesktopSmallStorageVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopSmallStorage_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopSmallStorage_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopSmallStorage_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopSmallStorage_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IGoogleDesktopSmallStorage_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IGoogleDesktopSmallStorage_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IGoogleDesktopSmallStorage_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IGoogleDesktopSmallStorage_Init(This,ssd_identifier,identifier_size)	\
    (This)->lpVtbl -> Init(This,ssd_identifier,identifier_size)

#define IGoogleDesktopSmallStorage_put_to_synchronize(This,to_sync)	\
    (This)->lpVtbl -> put_to_synchronize(This,to_sync)

#define IGoogleDesktopSmallStorage_GetValue(This,name,value)	\
    (This)->lpVtbl -> GetValue(This,name,value)

#define IGoogleDesktopSmallStorage_GetIsLocalOnly(This,name,local_only)	\
    (This)->lpVtbl -> GetIsLocalOnly(This,name,local_only)

#define IGoogleDesktopSmallStorage_PutValue(This,name,value)	\
    (This)->lpVtbl -> PutValue(This,name,value)

#define IGoogleDesktopSmallStorage_PutLocalValue(This,name,value)	\
    (This)->lpVtbl -> PutLocalValue(This,name,value)

#define IGoogleDesktopSmallStorage_RemoveItem(This,name)	\
    (This)->lpVtbl -> RemoveItem(This,name)

#define IGoogleDesktopSmallStorage_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define IGoogleDesktopSmallStorage_Copy(This,source)	\
    (This)->lpVtbl -> Copy(This,source)

#define IGoogleDesktopSmallStorage_IsEmpty(This,is_empty)	\
    (This)->lpVtbl -> IsEmpty(This,is_empty)

#define IGoogleDesktopSmallStorage_CompareAndEncodeIntoSsdEvents(This,new_storage,add_items,del_items)	\
    (This)->lpVtbl -> CompareAndEncodeIntoSsdEvents(This,new_storage,add_items,del_items)

#define IGoogleDesktopSmallStorage_GetEventFromSsdItem(This,item,action_type,ssd_item_id,event_data,event_data_size)	\
    (This)->lpVtbl -> GetEventFromSsdItem(This,item,action_type,ssd_item_id,event_data,event_data_size)

#define IGoogleDesktopSmallStorage_DecodeSsdEvent(This,action_type,ssd_item_id,event_data,event_data_size,taken)	\
    (This)->lpVtbl -> DecodeSsdEvent(This,action_type,ssd_item_id,event_data,event_data_size,taken)

#define IGoogleDesktopSmallStorage_ResolveEventsAndUpdateItems(This,has_changes)	\
    (This)->lpVtbl -> ResolveEventsAndUpdateItems(This,has_changes)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopSmallStorage_Init_Proxy( 
    IGoogleDesktopSmallStorage * This,
    /* [in] */ const byte *ssd_identifier,
    /* [in] */ long identifier_size);


void __RPC_STUB IGoogleDesktopSmallStorage_Init_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id][propput] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopSmallStorage_put_to_synchronize_Proxy( 
    IGoogleDesktopSmallStorage * This,
    /* [in] */ VARIANT_BOOL to_sync);


void __RPC_STUB IGoogleDesktopSmallStorage_put_to_synchronize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopSmallStorage_GetValue_Proxy( 
    IGoogleDesktopSmallStorage * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ VARIANT *value);


void __RPC_STUB IGoogleDesktopSmallStorage_GetValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopSmallStorage_GetIsLocalOnly_Proxy( 
    IGoogleDesktopSmallStorage * This,
    /* [in] */ BSTR name,
    /* [retval][out] */ VARIANT_BOOL *local_only);


void __RPC_STUB IGoogleDesktopSmallStorage_GetIsLocalOnly_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopSmallStorage_PutValue_Proxy( 
    IGoogleDesktopSmallStorage * This,
    /* [in] */ BSTR name,
    /* [in] */ VARIANT value);


void __RPC_STUB IGoogleDesktopSmallStorage_PutValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopSmallStorage_PutLocalValue_Proxy( 
    IGoogleDesktopSmallStorage * This,
    /* [in] */ BSTR name,
    /* [in] */ VARIANT value);


void __RPC_STUB IGoogleDesktopSmallStorage_PutLocalValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopSmallStorage_RemoveItem_Proxy( 
    IGoogleDesktopSmallStorage * This,
    /* [in] */ BSTR name);


void __RPC_STUB IGoogleDesktopSmallStorage_RemoveItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopSmallStorage_Clear_Proxy( 
    IGoogleDesktopSmallStorage * This);


void __RPC_STUB IGoogleDesktopSmallStorage_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopSmallStorage_Copy_Proxy( 
    IGoogleDesktopSmallStorage * This,
    IGoogleDesktopSmallStorage *source);


void __RPC_STUB IGoogleDesktopSmallStorage_Copy_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopSmallStorage_IsEmpty_Proxy( 
    IGoogleDesktopSmallStorage * This,
    /* [retval][out] */ VARIANT_BOOL *is_empty);


void __RPC_STUB IGoogleDesktopSmallStorage_IsEmpty_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopSmallStorage_CompareAndEncodeIntoSsdEvents_Proxy( 
    IGoogleDesktopSmallStorage * This,
    /* [in] */ IGoogleDesktopSmallStorage *new_storage,
    /* [in] */ IUnknown *add_items,
    /* [in] */ IUnknown *del_items);


void __RPC_STUB IGoogleDesktopSmallStorage_CompareAndEncodeIntoSsdEvents_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopSmallStorage_GetEventFromSsdItem_Proxy( 
    IGoogleDesktopSmallStorage * This,
    /* [in] */ IUnknown *item,
    /* [out] */ long *action_type,
    /* [out] */ BSTR *ssd_item_id,
    /* [out] */ SAFEARRAY * *event_data,
    /* [out] */ long *event_data_size);


void __RPC_STUB IGoogleDesktopSmallStorage_GetEventFromSsdItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopSmallStorage_DecodeSsdEvent_Proxy( 
    IGoogleDesktopSmallStorage * This,
    /* [in] */ long action_type,
    /* [in] */ BSTR ssd_item_id,
    /* [in] */ const byte *event_data,
    /* [in] */ long event_data_size,
    /* [out] */ VARIANT_BOOL *taken);


void __RPC_STUB IGoogleDesktopSmallStorage_DecodeSsdEvent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopSmallStorage_ResolveEventsAndUpdateItems_Proxy( 
    IGoogleDesktopSmallStorage * This,
    VARIANT_BOOL *has_changes);


void __RPC_STUB IGoogleDesktopSmallStorage_ResolveEventsAndUpdateItems_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopSmallStorage_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_GoogleDesktopDisplayAPI_0285 */
/* [local] */ 


enum __MIDL___MIDL_itf_GoogleDesktopDisplayAPI_0285_0001
    {	DISPID_GDD_GRAPHICS_DRAWLINE	= DISPID_GDD_GRAPHICS_START,
	DISPID_GDD_GRAPHICS_DRAWRECT	= DISPID_GDD_GRAPHICS_DRAWLINE + 1,
	DISPID_GDD_GRAPHICS_DRAWIMAGE	= DISPID_GDD_GRAPHICS_DRAWRECT + 1,
	DISPID_GDD_GRAPHICS_DRAWTEXT	= DISPID_GDD_GRAPHICS_DRAWIMAGE + 1,
	DISPID_GDD_GRAPHICS_GETTEXTWIDTH	= DISPID_GDD_GRAPHICS_DRAWTEXT + 1,
	DISPID_GDD_GRAPHICS_GETTEXTHEIGHT	= DISPID_GDD_GRAPHICS_GETTEXTWIDTH + 1
    } ;


extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0285_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0285_v0_0_s_ifspec;

#ifndef __IGoogleDesktopDisplayGraphics_INTERFACE_DEFINED__
#define __IGoogleDesktopDisplayGraphics_INTERFACE_DEFINED__

/* interface IGoogleDesktopDisplayGraphics */
/* [unique][dual][uuid][object] */ 


EXTERN_C const IID IID_IGoogleDesktopDisplayGraphics;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("35AD5708-ED56-494b-9866-374DFFDCFF5A")
    IGoogleDesktopDisplayGraphics : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE DrawLine( 
            /* [in] */ long x1,
            /* [in] */ long y1,
            /* [in] */ long x2,
            /* [in] */ long y2,
            /* [optional][in] */ VARIANT color) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE DrawRect( 
            /* [in] */ long x,
            /* [in] */ long y,
            /* [in] */ long width,
            /* [in] */ long height,
            /* [in] */ VARIANT line_color,
            /* [optional][in] */ VARIANT fill_color) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE DrawImage( 
            /* [in] */ long x,
            /* [in] */ long y,
            /* [in] */ long width,
            /* [in] */ long height,
            /* [in] */ IPicture *image,
            /* [optional][in] */ VARIANT alpha_percent) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE DrawText( 
            /* [in] */ long x,
            /* [in] */ long y,
            /* [in] */ long width,
            /* [in] */ long height,
            /* [in] */ BSTR text,
            /* [optional][in] */ VARIANT color,
            /* [optional][in] */ VARIANT flags,
            /* [optional][in] */ VARIANT font) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetTextWidth( 
            /* [in] */ BSTR text,
            /* [optional][in] */ VARIANT flags,
            /* [optional][in] */ VARIANT font,
            /* [retval][out] */ long *width) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetTextHeight( 
            /* [in] */ BSTR text,
            /* [in] */ int width,
            /* [optional][in] */ VARIANT flags,
            /* [optional][in] */ VARIANT font,
            /* [retval][out] */ long *height) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopDisplayGraphicsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopDisplayGraphics * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopDisplayGraphics * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopDisplayGraphics * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGoogleDesktopDisplayGraphics * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGoogleDesktopDisplayGraphics * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGoogleDesktopDisplayGraphics * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGoogleDesktopDisplayGraphics * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *DrawLine )( 
            IGoogleDesktopDisplayGraphics * This,
            /* [in] */ long x1,
            /* [in] */ long y1,
            /* [in] */ long x2,
            /* [in] */ long y2,
            /* [optional][in] */ VARIANT color);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *DrawRect )( 
            IGoogleDesktopDisplayGraphics * This,
            /* [in] */ long x,
            /* [in] */ long y,
            /* [in] */ long width,
            /* [in] */ long height,
            /* [in] */ VARIANT line_color,
            /* [optional][in] */ VARIANT fill_color);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *DrawImage )( 
            IGoogleDesktopDisplayGraphics * This,
            /* [in] */ long x,
            /* [in] */ long y,
            /* [in] */ long width,
            /* [in] */ long height,
            /* [in] */ IPicture *image,
            /* [optional][in] */ VARIANT alpha_percent);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *DrawText )( 
            IGoogleDesktopDisplayGraphics * This,
            /* [in] */ long x,
            /* [in] */ long y,
            /* [in] */ long width,
            /* [in] */ long height,
            /* [in] */ BSTR text,
            /* [optional][in] */ VARIANT color,
            /* [optional][in] */ VARIANT flags,
            /* [optional][in] */ VARIANT font);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetTextWidth )( 
            IGoogleDesktopDisplayGraphics * This,
            /* [in] */ BSTR text,
            /* [optional][in] */ VARIANT flags,
            /* [optional][in] */ VARIANT font,
            /* [retval][out] */ long *width);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetTextHeight )( 
            IGoogleDesktopDisplayGraphics * This,
            /* [in] */ BSTR text,
            /* [in] */ int width,
            /* [optional][in] */ VARIANT flags,
            /* [optional][in] */ VARIANT font,
            /* [retval][out] */ long *height);
        
        END_INTERFACE
    } IGoogleDesktopDisplayGraphicsVtbl;

    interface IGoogleDesktopDisplayGraphics
    {
        CONST_VTBL struct IGoogleDesktopDisplayGraphicsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopDisplayGraphics_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopDisplayGraphics_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopDisplayGraphics_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopDisplayGraphics_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IGoogleDesktopDisplayGraphics_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IGoogleDesktopDisplayGraphics_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IGoogleDesktopDisplayGraphics_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IGoogleDesktopDisplayGraphics_DrawLine(This,x1,y1,x2,y2,color)	\
    (This)->lpVtbl -> DrawLine(This,x1,y1,x2,y2,color)

#define IGoogleDesktopDisplayGraphics_DrawRect(This,x,y,width,height,line_color,fill_color)	\
    (This)->lpVtbl -> DrawRect(This,x,y,width,height,line_color,fill_color)

#define IGoogleDesktopDisplayGraphics_DrawImage(This,x,y,width,height,image,alpha_percent)	\
    (This)->lpVtbl -> DrawImage(This,x,y,width,height,image,alpha_percent)

#define IGoogleDesktopDisplayGraphics_DrawText(This,x,y,width,height,text,color,flags,font)	\
    (This)->lpVtbl -> DrawText(This,x,y,width,height,text,color,flags,font)

#define IGoogleDesktopDisplayGraphics_GetTextWidth(This,text,flags,font,width)	\
    (This)->lpVtbl -> GetTextWidth(This,text,flags,font,width)

#define IGoogleDesktopDisplayGraphics_GetTextHeight(This,text,width,flags,font,height)	\
    (This)->lpVtbl -> GetTextHeight(This,text,width,flags,font,height)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayGraphics_DrawLine_Proxy( 
    IGoogleDesktopDisplayGraphics * This,
    /* [in] */ long x1,
    /* [in] */ long y1,
    /* [in] */ long x2,
    /* [in] */ long y2,
    /* [optional][in] */ VARIANT color);


void __RPC_STUB IGoogleDesktopDisplayGraphics_DrawLine_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayGraphics_DrawRect_Proxy( 
    IGoogleDesktopDisplayGraphics * This,
    /* [in] */ long x,
    /* [in] */ long y,
    /* [in] */ long width,
    /* [in] */ long height,
    /* [in] */ VARIANT line_color,
    /* [optional][in] */ VARIANT fill_color);


void __RPC_STUB IGoogleDesktopDisplayGraphics_DrawRect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayGraphics_DrawImage_Proxy( 
    IGoogleDesktopDisplayGraphics * This,
    /* [in] */ long x,
    /* [in] */ long y,
    /* [in] */ long width,
    /* [in] */ long height,
    /* [in] */ IPicture *image,
    /* [optional][in] */ VARIANT alpha_percent);


void __RPC_STUB IGoogleDesktopDisplayGraphics_DrawImage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayGraphics_DrawText_Proxy( 
    IGoogleDesktopDisplayGraphics * This,
    /* [in] */ long x,
    /* [in] */ long y,
    /* [in] */ long width,
    /* [in] */ long height,
    /* [in] */ BSTR text,
    /* [optional][in] */ VARIANT color,
    /* [optional][in] */ VARIANT flags,
    /* [optional][in] */ VARIANT font);


void __RPC_STUB IGoogleDesktopDisplayGraphics_DrawText_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayGraphics_GetTextWidth_Proxy( 
    IGoogleDesktopDisplayGraphics * This,
    /* [in] */ BSTR text,
    /* [optional][in] */ VARIANT flags,
    /* [optional][in] */ VARIANT font,
    /* [retval][out] */ long *width);


void __RPC_STUB IGoogleDesktopDisplayGraphics_GetTextWidth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayGraphics_GetTextHeight_Proxy( 
    IGoogleDesktopDisplayGraphics * This,
    /* [in] */ BSTR text,
    /* [in] */ int width,
    /* [optional][in] */ VARIANT flags,
    /* [optional][in] */ VARIANT font,
    /* [retval][out] */ long *height);


void __RPC_STUB IGoogleDesktopDisplayGraphics_GetTextHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopDisplayGraphics_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_GoogleDesktopDisplayAPI_0286 */
/* [local] */ 


enum __MIDL___MIDL_itf_GoogleDesktopDisplayAPI_0286_0001
    {	DISPID_GDD_UT_LOADIMAGE	= DISPID_GDD_UT_START,
	DISPID_GDD_UT_SETINTERVAL	= DISPID_GDD_UT_LOADIMAGE + 1,
	DISPID_GDD_UT_CLEARINTERVAL	= DISPID_GDD_UT_SETINTERVAL + 1,
	DISPID_GDD_UT_SETTIMEOUT	= DISPID_GDD_UT_CLEARINTERVAL + 1,
	DISPID_GDD_UT_CLEARTIMEOUT	= DISPID_GDD_UT_SETTIMEOUT + 1,
	DISPID_GDD_UT_ALERT	= DISPID_GDD_UT_CLEARTIMEOUT + 1,
	DISPID_GDD_UT_CONFIRM	= DISPID_GDD_UT_ALERT + 1,
	DISPID_GDD_UT_PROMPT	= DISPID_GDD_UT_CONFIRM + 1,
	DISPID_GDD_UT_LOG	= DISPID_GDD_UT_PROMPT + 1
    } ;


extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0286_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0286_v0_0_s_ifspec;

#ifndef __IGoogleDesktopDisplayPluginUtils_INTERFACE_DEFINED__
#define __IGoogleDesktopDisplayPluginUtils_INTERFACE_DEFINED__

/* interface IGoogleDesktopDisplayPluginUtils */
/* [unique][dual][uuid][object] */ 


EXTERN_C const IID IID_IGoogleDesktopDisplayPluginUtils;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E42581BB-17F1-4483-8C66-6066C9CF7686")
    IGoogleDesktopDisplayPluginUtils : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE loadImage( 
            /* [in] */ VARIANT image_src,
            /* [retval][out] */ IUnknown **image) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setInterval( 
            /* [in] */ VARIANT handler,
            /* [in] */ long elapse_ms,
            /* [retval][out] */ long *timer_id) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE clearInterval( 
            /* [in] */ long timer_id) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE setTimeout( 
            /* [in] */ VARIANT handler,
            /* [in] */ long elapse_ms,
            /* [retval][out] */ long *timer_id) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE clearTimeout( 
            /* [in] */ long timer_id) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE alert( 
            /* [in] */ BSTR text) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE confirm( 
            /* [in] */ BSTR text,
            /* [retval][out] */ VARIANT_BOOL *ok_pressed) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE prompt( 
            /* [optional][in] */ VARIANT label,
            /* [optional][in] */ VARIANT def_text,
            /* [retval][out] */ VARIANT *return_value) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopDisplayPluginUtilsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopDisplayPluginUtils * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopDisplayPluginUtils * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopDisplayPluginUtils * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGoogleDesktopDisplayPluginUtils * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGoogleDesktopDisplayPluginUtils * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGoogleDesktopDisplayPluginUtils * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGoogleDesktopDisplayPluginUtils * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *loadImage )( 
            IGoogleDesktopDisplayPluginUtils * This,
            /* [in] */ VARIANT image_src,
            /* [retval][out] */ IUnknown **image);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setInterval )( 
            IGoogleDesktopDisplayPluginUtils * This,
            /* [in] */ VARIANT handler,
            /* [in] */ long elapse_ms,
            /* [retval][out] */ long *timer_id);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *clearInterval )( 
            IGoogleDesktopDisplayPluginUtils * This,
            /* [in] */ long timer_id);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setTimeout )( 
            IGoogleDesktopDisplayPluginUtils * This,
            /* [in] */ VARIANT handler,
            /* [in] */ long elapse_ms,
            /* [retval][out] */ long *timer_id);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *clearTimeout )( 
            IGoogleDesktopDisplayPluginUtils * This,
            /* [in] */ long timer_id);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *alert )( 
            IGoogleDesktopDisplayPluginUtils * This,
            /* [in] */ BSTR text);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *confirm )( 
            IGoogleDesktopDisplayPluginUtils * This,
            /* [in] */ BSTR text,
            /* [retval][out] */ VARIANT_BOOL *ok_pressed);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *prompt )( 
            IGoogleDesktopDisplayPluginUtils * This,
            /* [optional][in] */ VARIANT label,
            /* [optional][in] */ VARIANT def_text,
            /* [retval][out] */ VARIANT *return_value);
        
        END_INTERFACE
    } IGoogleDesktopDisplayPluginUtilsVtbl;

    interface IGoogleDesktopDisplayPluginUtils
    {
        CONST_VTBL struct IGoogleDesktopDisplayPluginUtilsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopDisplayPluginUtils_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopDisplayPluginUtils_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopDisplayPluginUtils_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopDisplayPluginUtils_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IGoogleDesktopDisplayPluginUtils_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IGoogleDesktopDisplayPluginUtils_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IGoogleDesktopDisplayPluginUtils_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IGoogleDesktopDisplayPluginUtils_loadImage(This,image_src,image)	\
    (This)->lpVtbl -> loadImage(This,image_src,image)

#define IGoogleDesktopDisplayPluginUtils_setInterval(This,handler,elapse_ms,timer_id)	\
    (This)->lpVtbl -> setInterval(This,handler,elapse_ms,timer_id)

#define IGoogleDesktopDisplayPluginUtils_clearInterval(This,timer_id)	\
    (This)->lpVtbl -> clearInterval(This,timer_id)

#define IGoogleDesktopDisplayPluginUtils_setTimeout(This,handler,elapse_ms,timer_id)	\
    (This)->lpVtbl -> setTimeout(This,handler,elapse_ms,timer_id)

#define IGoogleDesktopDisplayPluginUtils_clearTimeout(This,timer_id)	\
    (This)->lpVtbl -> clearTimeout(This,timer_id)

#define IGoogleDesktopDisplayPluginUtils_alert(This,text)	\
    (This)->lpVtbl -> alert(This,text)

#define IGoogleDesktopDisplayPluginUtils_confirm(This,text,ok_pressed)	\
    (This)->lpVtbl -> confirm(This,text,ok_pressed)

#define IGoogleDesktopDisplayPluginUtils_prompt(This,label,def_text,return_value)	\
    (This)->lpVtbl -> prompt(This,label,def_text,return_value)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginUtils_loadImage_Proxy( 
    IGoogleDesktopDisplayPluginUtils * This,
    /* [in] */ VARIANT image_src,
    /* [retval][out] */ IUnknown **image);


void __RPC_STUB IGoogleDesktopDisplayPluginUtils_loadImage_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginUtils_setInterval_Proxy( 
    IGoogleDesktopDisplayPluginUtils * This,
    /* [in] */ VARIANT handler,
    /* [in] */ long elapse_ms,
    /* [retval][out] */ long *timer_id);


void __RPC_STUB IGoogleDesktopDisplayPluginUtils_setInterval_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginUtils_clearInterval_Proxy( 
    IGoogleDesktopDisplayPluginUtils * This,
    /* [in] */ long timer_id);


void __RPC_STUB IGoogleDesktopDisplayPluginUtils_clearInterval_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginUtils_setTimeout_Proxy( 
    IGoogleDesktopDisplayPluginUtils * This,
    /* [in] */ VARIANT handler,
    /* [in] */ long elapse_ms,
    /* [retval][out] */ long *timer_id);


void __RPC_STUB IGoogleDesktopDisplayPluginUtils_setTimeout_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginUtils_clearTimeout_Proxy( 
    IGoogleDesktopDisplayPluginUtils * This,
    /* [in] */ long timer_id);


void __RPC_STUB IGoogleDesktopDisplayPluginUtils_clearTimeout_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginUtils_alert_Proxy( 
    IGoogleDesktopDisplayPluginUtils * This,
    /* [in] */ BSTR text);


void __RPC_STUB IGoogleDesktopDisplayPluginUtils_alert_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginUtils_confirm_Proxy( 
    IGoogleDesktopDisplayPluginUtils * This,
    /* [in] */ BSTR text,
    /* [retval][out] */ VARIANT_BOOL *ok_pressed);


void __RPC_STUB IGoogleDesktopDisplayPluginUtils_confirm_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginUtils_prompt_Proxy( 
    IGoogleDesktopDisplayPluginUtils * This,
    /* [optional][in] */ VARIANT label,
    /* [optional][in] */ VARIANT def_text,
    /* [retval][out] */ VARIANT *return_value);


void __RPC_STUB IGoogleDesktopDisplayPluginUtils_prompt_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopDisplayPluginUtils_INTERFACE_DEFINED__ */


#ifndef __IGoogleDesktopDisplayPluginUtils2_INTERFACE_DEFINED__
#define __IGoogleDesktopDisplayPluginUtils2_INTERFACE_DEFINED__

/* interface IGoogleDesktopDisplayPluginUtils2 */
/* [unique][dual][uuid][object] */ 


EXTERN_C const IID IID_IGoogleDesktopDisplayPluginUtils2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("35B2E25C-8095-42F5-A4C7-2CE881A29DFB")
    IGoogleDesktopDisplayPluginUtils2 : public IGoogleDesktopDisplayPluginUtils
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE log( 
            /* [in] */ GoogleDesktopPluginLogLevel level,
            /* [in] */ BSTR category,
            /* [in] */ BSTR text) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopDisplayPluginUtils2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopDisplayPluginUtils2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopDisplayPluginUtils2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopDisplayPluginUtils2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IGoogleDesktopDisplayPluginUtils2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IGoogleDesktopDisplayPluginUtils2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IGoogleDesktopDisplayPluginUtils2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IGoogleDesktopDisplayPluginUtils2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *loadImage )( 
            IGoogleDesktopDisplayPluginUtils2 * This,
            /* [in] */ VARIANT image_src,
            /* [retval][out] */ IUnknown **image);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setInterval )( 
            IGoogleDesktopDisplayPluginUtils2 * This,
            /* [in] */ VARIANT handler,
            /* [in] */ long elapse_ms,
            /* [retval][out] */ long *timer_id);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *clearInterval )( 
            IGoogleDesktopDisplayPluginUtils2 * This,
            /* [in] */ long timer_id);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *setTimeout )( 
            IGoogleDesktopDisplayPluginUtils2 * This,
            /* [in] */ VARIANT handler,
            /* [in] */ long elapse_ms,
            /* [retval][out] */ long *timer_id);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *clearTimeout )( 
            IGoogleDesktopDisplayPluginUtils2 * This,
            /* [in] */ long timer_id);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *alert )( 
            IGoogleDesktopDisplayPluginUtils2 * This,
            /* [in] */ BSTR text);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *confirm )( 
            IGoogleDesktopDisplayPluginUtils2 * This,
            /* [in] */ BSTR text,
            /* [retval][out] */ VARIANT_BOOL *ok_pressed);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *prompt )( 
            IGoogleDesktopDisplayPluginUtils2 * This,
            /* [optional][in] */ VARIANT label,
            /* [optional][in] */ VARIANT def_text,
            /* [retval][out] */ VARIANT *return_value);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *log )( 
            IGoogleDesktopDisplayPluginUtils2 * This,
            /* [in] */ GoogleDesktopPluginLogLevel level,
            /* [in] */ BSTR category,
            /* [in] */ BSTR text);
        
        END_INTERFACE
    } IGoogleDesktopDisplayPluginUtils2Vtbl;

    interface IGoogleDesktopDisplayPluginUtils2
    {
        CONST_VTBL struct IGoogleDesktopDisplayPluginUtils2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopDisplayPluginUtils2_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopDisplayPluginUtils2_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopDisplayPluginUtils2_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopDisplayPluginUtils2_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IGoogleDesktopDisplayPluginUtils2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IGoogleDesktopDisplayPluginUtils2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IGoogleDesktopDisplayPluginUtils2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IGoogleDesktopDisplayPluginUtils2_loadImage(This,image_src,image)	\
    (This)->lpVtbl -> loadImage(This,image_src,image)

#define IGoogleDesktopDisplayPluginUtils2_setInterval(This,handler,elapse_ms,timer_id)	\
    (This)->lpVtbl -> setInterval(This,handler,elapse_ms,timer_id)

#define IGoogleDesktopDisplayPluginUtils2_clearInterval(This,timer_id)	\
    (This)->lpVtbl -> clearInterval(This,timer_id)

#define IGoogleDesktopDisplayPluginUtils2_setTimeout(This,handler,elapse_ms,timer_id)	\
    (This)->lpVtbl -> setTimeout(This,handler,elapse_ms,timer_id)

#define IGoogleDesktopDisplayPluginUtils2_clearTimeout(This,timer_id)	\
    (This)->lpVtbl -> clearTimeout(This,timer_id)

#define IGoogleDesktopDisplayPluginUtils2_alert(This,text)	\
    (This)->lpVtbl -> alert(This,text)

#define IGoogleDesktopDisplayPluginUtils2_confirm(This,text,ok_pressed)	\
    (This)->lpVtbl -> confirm(This,text,ok_pressed)

#define IGoogleDesktopDisplayPluginUtils2_prompt(This,label,def_text,return_value)	\
    (This)->lpVtbl -> prompt(This,label,def_text,return_value)


#define IGoogleDesktopDisplayPluginUtils2_log(This,level,category,text)	\
    (This)->lpVtbl -> log(This,level,category,text)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopDisplayPluginUtils2_log_Proxy( 
    IGoogleDesktopDisplayPluginUtils2 * This,
    /* [in] */ GoogleDesktopPluginLogLevel level,
    /* [in] */ BSTR category,
    /* [in] */ BSTR text);


void __RPC_STUB IGoogleDesktopDisplayPluginUtils2_log_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopDisplayPluginUtils2_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_GoogleDesktopDisplayAPI_0288 */
/* [local] */ 


enum __MIDL___MIDL_itf_GoogleDesktopDisplayAPI_0288_0001
    {	DISPID_GDD_PERSIST_SMALL_STORAGE_LOAD	= DISPID_GDD_PERSIST_SMALL_STORAGE_START,
	DISPID_GDD_PERSIST_SMALL_STORAGE_SAVE	= DISPID_GDD_PERSIST_SMALL_STORAGE_LOAD + 1
    } ;


extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0288_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0288_v0_0_s_ifspec;

#ifndef __IGoogleDesktopPersistSmallStorage_INTERFACE_DEFINED__
#define __IGoogleDesktopPersistSmallStorage_INTERFACE_DEFINED__

/* interface IGoogleDesktopPersistSmallStorage */
/* [unique][dual][uuid][object] */ 


EXTERN_C const IID IID_IGoogleDesktopPersistSmallStorage;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7A14E85D-387D-453c-85E6-ED04BB1031BB")
    IGoogleDesktopPersistSmallStorage : public IUnknown
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Load( 
            /* [in] */ IGoogleDesktopSmallStorage *settings) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Save( 
            /* [in] */ IGoogleDesktopSmallStorage *settings) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IGoogleDesktopPersistSmallStorageVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IGoogleDesktopPersistSmallStorage * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IGoogleDesktopPersistSmallStorage * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IGoogleDesktopPersistSmallStorage * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Load )( 
            IGoogleDesktopPersistSmallStorage * This,
            /* [in] */ IGoogleDesktopSmallStorage *settings);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Save )( 
            IGoogleDesktopPersistSmallStorage * This,
            /* [in] */ IGoogleDesktopSmallStorage *settings);
        
        END_INTERFACE
    } IGoogleDesktopPersistSmallStorageVtbl;

    interface IGoogleDesktopPersistSmallStorage
    {
        CONST_VTBL struct IGoogleDesktopPersistSmallStorageVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IGoogleDesktopPersistSmallStorage_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IGoogleDesktopPersistSmallStorage_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IGoogleDesktopPersistSmallStorage_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IGoogleDesktopPersistSmallStorage_Load(This,settings)	\
    (This)->lpVtbl -> Load(This,settings)

#define IGoogleDesktopPersistSmallStorage_Save(This,settings)	\
    (This)->lpVtbl -> Save(This,settings)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopPersistSmallStorage_Load_Proxy( 
    IGoogleDesktopPersistSmallStorage * This,
    /* [in] */ IGoogleDesktopSmallStorage *settings);


void __RPC_STUB IGoogleDesktopPersistSmallStorage_Load_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IGoogleDesktopPersistSmallStorage_Save_Proxy( 
    IGoogleDesktopPersistSmallStorage * This,
    /* [in] */ IGoogleDesktopSmallStorage *settings);


void __RPC_STUB IGoogleDesktopPersistSmallStorage_Save_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IGoogleDesktopPersistSmallStorage_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_GoogleDesktopDisplayAPI_0289 */
/* [local] */ 

#define kSidebarLibVerMajor   2
#define kSidebarLibVerMinor   0


extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0289_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_GoogleDesktopDisplayAPI_0289_v0_0_s_ifspec;


#ifndef __GoogleDesktopDisplayLib_LIBRARY_DEFINED__
#define __GoogleDesktopDisplayLib_LIBRARY_DEFINED__

/* library GoogleDesktopDisplayLib */
/* [helpstring][version][uuid] */ 

































EXTERN_C const IID LIBID_GoogleDesktopDisplayLib;

EXTERN_C const CLSID CLSID_GoogleDesktopDisplayPluginHelper;

#ifdef __cplusplus

class DECLSPEC_UUID("77679773-B804-400F-9C88-598CDD099E2F")
GoogleDesktopDisplayPluginHelper;
#endif

EXTERN_C const CLSID CLSID_GoogleDesktopDisplayDetailsViewHelper;

#ifdef __cplusplus

class DECLSPEC_UUID("FACE4234-6A8F-48AB-898A-237F6529C70E")
GoogleDesktopDisplayDetailsViewHelper;
#endif

EXTERN_C const CLSID CLSID_GoogleDesktopDisplayContentItemHelper;

#ifdef __cplusplus

class DECLSPEC_UUID("E622966D-28A0-43C2-A5B8-0CAF622A6711")
GoogleDesktopDisplayContentItemHelper;
#endif

EXTERN_C const CLSID CLSID_GoogleDesktopDisplayUINotification;

#ifdef __cplusplus

class DECLSPEC_UUID("9E7D9E69-FE1E-48ba-985E-A4872E01EC4A")
GoogleDesktopDisplayUINotification;
#endif

EXTERN_C const CLSID CLSID_GoogleDesktopSearchPanel;

#ifdef __cplusplus

class DECLSPEC_UUID("44B0B5D8-55C9-46b4-9CCA-62842C9B3BFF")
GoogleDesktopSearchPanel;
#endif

EXTERN_C const CLSID CLSID_GoogleDesktopTalkFriend;

#ifdef __cplusplus

class DECLSPEC_UUID("83ABF9E4-35C1-4cdb-992A-0329EEA71B67")
GoogleDesktopTalkFriend;
#endif

EXTERN_C const CLSID CLSID_GoogleDesktopSmallStorage;

#ifdef __cplusplus

class DECLSPEC_UUID("BE9E91D3-19B1-43cd-9E27-1219AE04971E")
GoogleDesktopSmallStorage;
#endif
#endif /* __GoogleDesktopDisplayLib_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

unsigned long             __RPC_USER  LPSAFEARRAY_UserSize(     unsigned long *, unsigned long            , LPSAFEARRAY * ); 
unsigned char * __RPC_USER  LPSAFEARRAY_UserMarshal(  unsigned long *, unsigned char *, LPSAFEARRAY * ); 
unsigned char * __RPC_USER  LPSAFEARRAY_UserUnmarshal(unsigned long *, unsigned char *, LPSAFEARRAY * ); 
void                      __RPC_USER  LPSAFEARRAY_UserFree(     unsigned long *, LPSAFEARRAY * ); 

unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


